如何做.htaccess查询string301redirect?

我正在尝试将urlhttp://domain.com/?p=106redirect到http://domain.com/?p=110

我的.htaccess文件如下所示:

RewriteEngine On RewriteCond %{QUERY_STRING} ^p=106 RewriteRule / http://domain.com/\?p=110 [L,R=301] 

但我似乎无法得到它的工作。

根据文档,您需要检查Options FollowSymLinks在尝试rewrite .htaccess之前启用。 然后,你还必须注意,每个目录前缀被自动删除,这意味着一个模式与^/从不匹配任何东西(我敢打赌,这就是为什么你/不工作)。

所以,在你的情况下,首先检查Options FollowSymLinks ,然后更改RewriteRule是build议的东西,或我的版本:

 RewriteRule ^$ /?p=110 

RewriteRule /不会匹配/在htaccess的请求。 在这种情况下,您比较的path是空的(前缀在htaccess rewriterule中被剥离)

 RewriteRule ^$ http://domain.com/?p=110