Php .HTACCESS-防止404无URL查询
我正在使用.htaccess为我的web应用程序重新编写一些URL。当向Php .HTACCESS-防止404无URL查询,php,apache,.htaccess,Php,Apache,.htaccess,我正在使用.htaccess为我的web应用程序重新编写一些URL。当向用户页面传递用户URL(实际上是一个URL友好的用户名)时,使用以下方法可以使该页面更加美观: RewriteRule ^user/([0-9a-zA-Z-]+) /user?url=$1 [NC,QSA] 当我输入URLhttp://example.com/user,页面重定向很好,PHP可以处理缺少查询字符串的问题。但是,当服务器收到http://example.com/user/,它返回一个404错误 我怎样才能防止
用户
页面传递用户URL(实际上是一个URL友好的用户名)时,使用以下方法可以使该页面更加美观:
RewriteRule ^user/([0-9a-zA-Z-]+) /user?url=$1 [NC,QSA]
当我输入URLhttp://example.com/user
,页面重定向很好,PHP可以处理缺少查询字符串的问题。但是,当服务器收到http://example.com/user/
,它返回一个404错误
我怎样才能防止这种情况发生?
谢谢。通过预先添加规则重定向到正确的URL
RewriteRule ^(.*)/$ /$1 [L,R=301]
或者将
/?
附加到您的regexp。您可以在.htaccess中使用这些规则:
Options -MultiViews
RewriteEngine On
RewriteRule ^user/?$ user.php [NC,L]
RewriteRule ^user/([0-9a-zA-Z-]+)/?$ user.php?url=$1 [NC,QSA,L]
如果请求目录,这将导致重定向循环