Php .HTACCESS-防止404无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错误 我怎样才能防止

我正在使用.htaccess为我的web应用程序重新编写一些URL。当向
用户
页面传递用户URL(实际上是一个URL友好的用户名)时,使用以下方法可以使该页面更加美观:

RewriteRule ^user/([0-9a-zA-Z-]+) /user?url=$1 [NC,QSA]
当我输入URL
http://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]

如果请求目录,这将导致重定向循环