2016-04-04 19 views
0

アドレスの末尾に変数ディレクトリを追加するためのnginxの書き換えルールはどのように記述するべきか質問したいと思います。 Specificaly私はnginx-php-fpmでWooCommerceを使用するときに発生する404エラーを解決したい。 追加するスラッシュは、チェックアウトエンドポイントであり、それは /チェックアウト後の「xxx」は/注文番号ですhttp://xxxx.xx/checkout/xxx/?key=wc_order_5702b88b72e77WooCommerce CheckoutエンドポイントのNginxリダイレクト

に書き換えるために、この

http://xxxx.xx/checkout/xxx?key=wc_order_5702b88b72e77 ようになり、それがあります変数。

ありがとうございます。私が注文IDは数字と小文字のみが含まれていると仮定し

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

+1

これらは同じではありません。ご覧のとおり、/ checkout/xxxの後に余分なスラッシュがあるので、/ checkout/xxx / –

答えて

0

は、私はあなたがこのような何かをしたいと思います。正規表現を変更することでこれを変更することができます。 0-9の一致番号は、A-Zの大文字とa-zの小文字です。

場所ブロックに書き換えを配置して、より具体的にすることもできます。

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

また、代わりに永久に要求をリダイレクトpermanentフラグ(301リダイレクト)を使用するのでは、適切な場所を見つけるために再び渡され、現在のセット及び書き換え要求の処理を停止フラグlastを使用することができます。

関連する問題