Apache 大量带有问号的301重定向导致访问问题

Apache 大量带有问号的301重定向导致访问问题,apache,.htaccess,redirect,Apache,.htaccess,Redirect,我有很多301重定向我需要设置。我有一个这样的列表,希望复制粘贴就可以了 Redirect 301 /?p=11781 http://www.example.com/page-a/ Redirect 301 /?p=11781 http://www.example.com/page-b/ Redirect 301 /?p=11781 http://www.example.com/page-c/ Redirect 301 /?p=11781 http://www.example.com/page-

我有很多301重定向我需要设置。我有一个这样的列表,希望复制粘贴就可以了

Redirect 301 /?p=11781 http://www.example.com/page-a/
Redirect 301 /?p=11781 http://www.example.com/page-b/
Redirect 301 /?p=11781 http://www.example.com/page-c/
Redirect 301 /?p=11781 http://www.example.com/page-d/
etc...
经过一整天的工作,我意识到这是一个问号问题,301重定向将无法工作。如果有什么不同,我也在使用wordpress


是否存在此问题?

查询\u字符串不是重定向指令中匹配的一部分,要匹配查询字符串,您需要使用mod rewrite:

尝试:

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

RewriteEngine on

RewriteCond %{QUERY_STRING} ^p=11781$ [NC]
RewriteRule ^$ http://example.com/page-a/? [NC,L,R]
RewriteEngine on

RewriteCond %{THE_REQUEST} /\?p=11781 [NC]
RewriteRule ^$ http://example.com/page-a/? [NC,L,R]