重写规则不适用于以字母h结尾的用户名

时间:2012-11-21 08:31:12

标签: .htaccess

我有www.amunzi.com/profile.php?username=anyusername

的重写规则
> RewriteRule ^([a-zA-Z0-9\._-]+[^.php])$ profile.php?username=$1  

> RewriteRule ^([a-zA-Z0-9\._-]+[^.php])/()$ profile.php?username=$1  

它运行正常,但问题是当用户名以字母“h”结尾时,会出现404错误。

1 个答案:

答案 0 :(得分:0)

此正则表达式:^([a-zA-Z0-9\._-]+[^.php])$将匹配任何非空字符串的{字母数字字符或._-},后跟除.p,{{1}之外的任何字符}或h

试试这个:

p

重写条件应匹配所有不以RewriteCond %{REQUEST_URI} !\.php$ RewriteRule ^([a-zA-Z0-9\._-]+)$ profile.php?username=$1 (source)结尾的网址,并且重写规则中的正则表达式将匹配{alphanumeric characters或.php}的任何非空字符串。< / p>