2016-04-04 34 views
0

Nginx'in bir adresin sonunda bir değişken dizine eklenmesi için yeniden yazma kuralının nasıl olacağını sormak istiyorum. Özellikle nginx - php-fpm ile WooCommerce kullandığımda ortaya çıkan bir 404 hatası çözmek istiyorum. eklenecek çizgi çıkış uç noktada olduğunu ve /çıkış sonra "xxx"/sipariş numarası http://xxxx.xx/checkout/xxx/?key=wc_order_5702b88b72e77WooCommerce Checkout için Nginx Yönlendirmesi Bitiş Noktası

için yeniden yazmak için bu

http://xxxx.xx/checkout/xxx?key=wc_order_5702b88b72e77 gibi görünecektir ve bir olduğunu değişken.

Şimdiden teşekkürler. Şu sipariş id numaralarını ve küçük harf karakterlerini içerdiğini varsayalım

server { 
    # put this before your locations 
    rewrite ^(/checkout/[a-z0-9]+)$ $1/ permanent; 
} 

:

+1

Bunlar aynı değil. Gördüğünüz gibi/checkout/xxx sonra ekstra bir eğik çizgi/checkout/xxx/olur –

cevap

0

Ben böyle bir şey isteyeyim düşünüyorum. Normal ifadeyi değiştirerek bunu değiştirmek isteyebilirsiniz. 0-9 eşleşme numaraları, A-Z büyük harf karakterleri ve a-z küçük harfli karakterler.

Yeniden yazmayı daha belirgin hale getirmek için bir konum bloğuna da ekleyebilirsiniz.

location ~ ^/checkout/[a-z0-9]+$ { 
    rewrite ^(/checkout/[a-z0-9]+)$ $1/ permanent; 
} 

Ayrıca, yerine kalıcı istekleri yönlendirir permanent bayrağı (301 yönlendirmesi) kullanma Eğer uygun bir yer bulmak için bir kez daha geçirilir geçerli seti ve yeniden yazılabilir isteği işlemeyi bırakır bayrağı last kullanabilirsiniz.

İlgili konular