Htaccess - 重写规则

时间:2010-12-22 19:23:37

标签: regex .htaccess mod-rewrite

我有什么:

我的重写规则:

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/并且正常工作:\

alt text

2 个答案:

答案 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]