Mod rewrite 301将带有空格的查询字符串重定向到非动态URL

Mod rewrite 301将带有空格的查询字符串重定向到非动态URL,mod-rewrite,redirect,query-string,Mod Rewrite,Redirect,Query String,将查询字符串中有空格的特定页面重定向到名称页面的最佳方法是什么?我尝试了以下似乎不起作用的方法: Redirect 301 "/user.php?name=user name" /users/list 正如注释中的讨论,Redirect和RedirectMatch都不允许我们为重定向源指定查询字符串,如下所示: Redirect 301 /user.php?name=user%20name /users/list # this does not work!!! 我们应该在/.htacces

将查询字符串中有空格的特定页面重定向到名称页面的最佳方法是什么?我尝试了以下似乎不起作用的方法:

Redirect 301 "/user.php?name=user name" /users/list

正如注释中的讨论,Redirect和RedirectMatch都不允许我们为重定向源指定查询字符串,如下所示:

Redirect 301 /user.php?name=user%20name /users/list  # this does not work!!!
我们应该在/.htaccess中部署强大的RewriteEngine机器,即使只需很少的资源:

RewriteEngine On
RewriteCond %{QUERY_STRING} name=user%20name [NC]
RewriteRule ^user\.php /users/list [R=301,NE,L]

根据url编码模式,使用
+
%20
而不是空格。使用“重定向”或“重定向匹配”可以为重定向源指定查询字符串。