2014-02-17 110 views
1

我在我的htaccess中有一個重寫規則來檢查最後一個段是否是字母(包括重音字符)。帶口音的htaccess rewriterule給我內部服務器錯誤500

RewriteRule ^search/tag/([A-Za-záéíóú]+)$  page.php?tag=$1 [L] 
RewriteRule ^search/tag/([A-Za-zàèìòù]+)$  page.php?tag=$1 [L] 

爲什麼第一個工作和第二個導致內部服務器錯誤500?

問題似乎是「à」字符,爲什麼?

回答

1

確保使用B標誌加上引號中的正則表達式來解決500錯誤:

RewriteRule "^search/tag/([A-Za-záéíóú]+)$" page.php?tag=$1 [L,B] 

RewriteRule "^search/tag/([A-Za-zàèìòù]+)$" page.php?tag=$1 [L,B] 
+0

加上引號,似乎就夠了,從來沒有這樣做,謝謝。 但是,有人知道爲什麼是嚴重的問題? –

+0

不知何故,Apache解釋有空格,當它獲得'à'字符是'C3A0'在UTF-8 – anubhava

+0

理解,再次感謝 –