我正在使用.htaccess为我的网络应用程序重写一些网址。当user_urls(实际上是一个URL友好的用户名)传递给它时,以下内容用于使user
页面更漂亮:
RewriteRule ^user/([0-9a-zA-Z-]+) /user?url=$1 [NC,QSA]
当我输入URL http://example.com/user
时,页面重定向就好了,PHP处理缺少查询字符串。但是,当服务器收到http://example.com/user/
的请求时,它会返回404错误。
如何防止这种情况发生? 感谢。
答案 0 :(得分:1)
通过添加规则
重定向到正确的URLRewriteRule ^(.*)/$ /$1 [L,R=301]
或将/?
附加到正则表达式。
答案 1 :(得分:1)
您可以在.htaccess中使用这些规则:
Options -MultiViews
RewriteEngine On
RewriteRule ^user/?$ user.php [NC,L]
RewriteRule ^user/([0-9a-zA-Z-]+)/?$ user.php?url=$1 [NC,QSA,L]