我有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错误。
答案 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>