2013-10-08 80 views

回答

0

您的新重写规则应该在最后一个之前,因为它也匹配/name

RewriteEngine on 

# if a file then stop processing 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule^- [L] 

RewriteRule ^([^/]+)$ /index.php?a=profile&u=$1 [L] 
RewriteRule ^(([^/]*)+)(/([^/]{0,32})(/.+)?)?$ /index.php?a=$1&q=$3 [L] 

您最后的RewriteRule s远比它所需要的复杂。例如,([^/]*)+应该只是[^/]+。如果你提供了更多关于它试图匹配的细节,我可以建议一些简化。

+0

有了这个,它给我500内部服务器错误... –

+0

从第2行删除您的评论,否则500错误可能仍然会来。 – anubhava

+0

@anubhava,即使这个请求uri检查是有点不要求'coz文件名检查应该赶上它。 –