[英]Problem with url-rewriting for a multi-language website
我試圖為我的多語言網站設置一些URL重寫規則。 它正在工作,我想進行一些更正,現在它不再工作。
當我嘗試以下網址: http : //mywebsite.fr/fr/時 ,瀏覽器將更改http://mywebsite.fr/fr/?lang=fr&lang=fr&lang=fr&lang=fr&lang=fr&lang=fr&lang=fr&lang=fr&lang= FR&LANG = FR&LANG = FR&LANG = FR&LANG = FR&LANG = FR&LANG = FR&LANG = FR&LANG = FR&LANG = FR&LANG = FR
這是代碼:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(fr|en|nl)/$ index.php?lang=$1&%{QUERY_STRING} [L]
我對自己說,這種錯誤不是源於URL編寫,因此在我的php代碼中,我將“ return false”作為頁面的開頭,但是在白頁中仍然會出現問題...
另外,如果我禁用所有的url重寫規則,則會收到apache錯誤“未找到” ...
我也嘗試過重新啟動Apache,同樣的問題...
有人有主意嗎? 謝謝 !
您將看到一個典型的重寫循環。 原因是您無條件地進行了重寫,而不管重寫目標是否已經實現,因此之前是否已經執行過重寫。
您可以使用條件來解決此問題:
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{QUERY_STRING} !^lang=
RewriteRule ^/?(fr|en|nl)/?$ /index.php?lang=$1 [L,QSA]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.