2
我現在有一個非常簡單的modrewrite文件,該文件將URL映射到不同的PHP頁面有可能GET變量:全球規則適用於所有現有規則
RewriteRule ^grant$ about.php?p=4 [L]
RewriteRule ^contact-people-([A-za-z0-9-]+)$ about.php?p=5&to=$1 [L]
RewriteRule ^([a-z0-9-]+)-media$ media-gallery-element.php?prettyid=$1 [L]
#etc .... it goes on for perhaps 200 or so entries
我想有一個全球性的語言變量,它是在網址中,我想知道如何巧妙地調整我的modrewrite文件來處理這個。我可以通過加倍我的項目做到這一點,只需添加更多的規則,使得第一個上面被更改爲:
RewriteRule ^grant$ about.php?p=4&lan=en [L]
RewriteRule ^([a-z]+)/grant$ about.php?p=4&lan=$1 [L]
第一行是一樣的,並會默認爲英語(en),然後在第二行處理其他語言代碼,es,fr,de等。所以我可以這樣做,但似乎有更好的方法來做到這一點,而不會使我的條目翻倍。基本上,我想要接受我的所有請求,在請求uri的開頭尋找([a-z] +)/,然後將它作爲GET變量lan。
我該如何巧妙地做到這一點?
你有一個有限語言列表? –
嗯,我在Apache中使用mod-rewrite,而php是我選擇的語言 – Landon
不是編程語言:人類語言。像「lan = xx」,其中xx是語言。 –