2014-02-17 109 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

理解,再次感谢 –