我有什么:
我的重写规则:
RewriteRule ^(?!user?)([a-z0-9.-]+)+(\/)?$ index.php?page=$1
我想要什么
因此,如果我转到http://localhost/hello/
,我想在hello
$1
但是如果我去http://localhost/user/
我想在这个RewriteRule中什么都不做:)因为其他RewriteRule正在处理特殊页面:)
有什么问题:
取而代之的是hello
为$1
,我得到index.php
,为什么以及如何解决此问题?
我还在这里使用preg_replace
测试了正则表达式:http://regex.larsolavtorvik.com/并且正常工作:\
答案 0 :(得分:4)
RewriteRule ^([^/]*)/$ /index.php?page=$1 [L]
RewriteRule ^user/([^/]*)/$ /index.php?page=$1 [L]
答案 1 :(得分:2)
尝试这样的事情......
RewriteRule ^user/?$ user.php [QSA,L]
RewriteRule ^(.*)/?$ index.php?page=$1 [QSA,L]