Ich habe URL www.foo.com
, die zwei Sprachen hat EN
und CN
. Ich habe Seiten wie about.php
, product.php
usw.Rewrite URL für Nginx mit Sprachoption
ich die URL www.foo.com/about.php?lang=cn
geschrieben werden als www.foo.com/cn/about
und gleiche Weise, www.foo.com/en/product
usw. will
ich nginx bin mit dieser PHP-Website zu dienen.
Ich kann den Php-Datei als
location/{
try_files $uri $uri/ $uri.php?$query_string;
}
Ich habe versucht, so etwas wie dieses
location/{
try_files $uri $uri/$query_string/ $uri.php?$query_string;
}
schreiben verstecken Aber irgendwie scheint nicht zu funktionieren.
Haben Sie versucht, etwas, was wie 'Standort/{ if ($ arg_lang) { Rewrite ^/$ arg_lang/$ uri permanent; } } '? – slowjack2k
Ich habe es nicht versucht. Kannst du es ausarbeiten? Ich meine, wie kann ich lang = "cn" Wert in $ arg_lang usw. zuweisen. – Kasino
Soweit ich weiß, bietet nginx eine $ arg_ Variable für jeden Teil Ihrer Abfrage-String. Daher sollte $ arg_lang sofort verfügbar sein. Wenn also lang in der Abfragezeichenfolge gesetzt ist, sollte das Neuschreiben stattfinden. Aber in dem Moment kann ich es nicht testen. –
slowjack2k