我有一个关于htaccess的问题。我尝试设置从http://website.tld/index.php?a=profile&u=name到http://website.tld/name的链接
htaccess文件已经具有以下内容:
RewriteEngine on
RewriteCond %{request_filename} -f
RewriteRule ^(.*) $1 [L]
RewriteRule ^(([^/]*)+)(/([^/]{0,32})(/.+)?)?$ index.php?a=$1&q=$3 [L]我补充道:
RewriteRule ^([^/]*)$ /index.php?a=profile&u=$1 [L]但它不起作用。我应该添加什么才能使它工作?
发布于 2013-10-08 23:45:43
新的重写规则应该在最后一个重写规则之前,因为它也与/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比它需要的复杂得多。例如,([^/]*)+应该只是[^/]+。如果你提供了更多关于它试图匹配的细节,我可以建议一些简化。
https://stackoverflow.com/questions/19252186
复制相似问题