2016-09-29 2 views
0

私はありlangサフィックスを使用してnginx friendly URLを設定するには?

多言語(PHP/HTML)サイトを持っているしたい...しかし、私はnginxのに非常に弱いんだ/ 3変数(LNの - 言語、ページ、ステップ)があるhttpアドレスで を書き換えます私が書くときの問題https://testpage.org.pl/esp/home "/ esp /"は$ ln変数のように認識されません...

どうすればいいですか?

は、ここに私のnginxの書き換えです:

あなたの言語変数は常に2つのまたは3文字を持っている場合は、あなただけに、それに言語変数を使用して書き換えを変更することができます
rewrite ^/([a-zA-Z0-9]+)$ /index.php?page=$1 last; 
rewrite ^/([a-zA-Z0-9]+)/step-([1-3])$ /index.php?page=$1&step=$2 last; 
rewrite "^/([a-z]{2})/$" /index.php?ln=$1 last; 
rewrite "^/([a-z]{2})/([a-zA-Z0-9]+)$" /index.php?ln=$1&page=$2 last; 
rewrite "^/([a-z]{2})/([a-zA-Z0-9]+)/step-([1-3])$" /index.php?ln=$1&page=$2&step=$3 last; 
+0

「esp」がどの言語を表しているかわかりませんが、上記のリライト文は、2文字のベースを含むISO 639-1言語コード用に設計されています。これらは、HTTPリクエストとHTMLヘッダーで使用されているのと同じコードです。 –

+0

そのhmtl/phpのウェブサイト – TomLi

+0

申し訳ありませんが、あなたの質問は人間の言語に関連していると思いました。 –

答えて

1

rewrite "^/([a-z]{2,3})/$" /index.php?ln=$1 last; 
rewrite "^/([a-z]{2,3})/([a-zA-Z0-9]+)$" /index.php?ln=$1&page=$2 last; 
rewrite "^/([a-z]{2,3})/([a-zA-Z0-9]+)/step-([1-3])$" /index.php?ln=$1&page=$2&step=$3 last; 

この意志2と3の間の長さの言語にのみ一致するようにしてください。おそらくあなたのケースでうまくいくでしょう。

関連する問題