我目前在我的.htaccess文件中遇到了我的索引url重写问题,我知道我是否使用
RewriteRule ^profile/([^/]*)/?$ /profile.php?x=$1 [L]
我可以使用www.example.com/profile/get或www.example.com/profile/get/(带或不带斜线)
但我希望www.example.com/get到目前为止我所拥有的是
RewriteRule ^([^/]*)\/$ /index.php?x=$1 [L]
但如果我放一个?在$ it之前,任何答案都欢迎
答案 0 :(得分:2)
使尾部斜线可选将导致无限循环,因为[^/]*
将匹配任何不包含/
的东西,即它也匹配index.php?x=get
您可以通过制定规则apply conditionally来避免这种情况,例如通过测试请求URI:
RewriteCond %{REQUEST_URI} !^/index\.php.*
RewriteRule ^([^/]*)\/?$ /index.php?x=$1 [L]
这样,规则只适用于请求URI不以/index.php