2016-11-23 20 views
1

を提出する私のようなURIでファイルを開くには、nginxのを必要としますwww/example.com/en_US/_foo2_test2_barnginxの書き換えURI

文字/数字以外のすべての記号を下線に置き換えます。この場所をどのように見て、リダイレクトを使用する方が良いでしょうか?

location /en/ { 
rewrite ... 
} 

nginxとregexpでこのようなメカニズムについてはわかりません。ありがとうございました。

答えて

0

rewriteを使用すると、シンボルがすべて変更されるまでシンボルを再帰的に変更することができます。実際のファイルはあなたの例としてen_US下にあると仮定すると示しています。シンボルの全てが消費されるまで

location /en/ { 
    rewrite ^/en/(.*)[^A-Za-z0-9_](.*)$ /en/$1_$2 last; 
    rewrite ^/en/(.*)$ /en_US/$1 last; 
} 
location /en_US/ { 
    root /path/to/real/files; 
} 

最初rewriteが繰り返しにマッチします。 2番目のrewriteは、実際のファイルを提供するためのURIを準備します。

詳細はthis documentを参照してください。