.htaccess重定向匹配301

.htaccess重定向匹配301,.htaccess,redirect,url-rewriting,.htaccess,Redirect,Url Rewriting,我想使用.htaccess重定向匹配301规则重定向如下 RedirectMatch 301 ^/user.php?id="user_id" /user/ 重定向匹配301^/user.php?id=“user\u id”/user/ 我不想在重定向的URL中附加查询字符串 可能吗 提前感谢。查询字符串不是重定向匹配指令中匹配的一部分 要匹配查询字符串,您需要使用mod_rewrite: RewriteEngine on RewriteCond %{QUERY_STRING} ^id=user

我想使用.htaccess重定向匹配301规则重定向如下

RedirectMatch 301 ^/user.php?id="user_id" /user/ 重定向匹配301^/user.php?id=“user\u id”/user/ 我不想在重定向的URL中附加查询字符串

可能吗


提前感谢。

查询字符串不是重定向匹配指令中匹配的一部分

要匹配查询字符串,您需要使用mod_rewrite:

RewriteEngine on

RewriteCond %{QUERY_STRING} ^id=userId$ [NC]
RewriteRule ^user\.php$ /user? [L,R=301]

目标url末尾的空问号很重要,因为它会丢弃url中的原始查询字符串。

不使用方法user.php?user=1&id=74重定向到/user/只有重定向匹配301起作用,但它最后会追加查询字符串