我正在尝试重定向一个 URLhttp://domain.com/?p=106到http://domain.com/?p=110
我的.htaccess 文件如下所示:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^p=106
RewriteRule / http://domain.com/\?p=110 [L,R=301]
但我似乎无法让它工作。
答案1
根据文档,您需要在Options FollowSymLinks
尝试之前检查是否已启用。然后,您还必须注意,每个目录的前缀都会自动删除,这意味着带有的模式永远不会匹配任何内容(我敢打赌这就是您的不起作用的原因)。rewrite
.htaccess
^/
/
因此,对于您来说,首先检查Options FollowSymLinks
,然后将其更改RewriteRule
为 covener建议或者我的版本:
RewriteRule ^$ /?p=110
答案2
RewriteRule / 无法匹配 htaccess 中对 / 的请求。在这种情况下,您比较的路径为空(htaccess rewriterule 中的前缀被删除)
RewriteRule ^$ http://domain.com/?p=110