簡體   English   中英

多語言網站的URL重寫問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM