我有这个Joomla问题 - 谷歌似乎索引了我删除的菜单条目,但我忘了删除菜单中的条目所以现在谷歌已索引此网站:
http://www.madplanuge.dk/?Itemid=134
我想将它(.htaccess)重定向到此网址:http://www.madplanuge.dk/madplan/lav-madplan
你会怎么做?我已经尝试过以下:
RewriteRule ^ \?Itemid = 134
http://www.madplanuge.dk/madplan/lav-madplan?
[R = 301,L]RewriteCond%{REQUEST_URI} ^ \?Itemid = 134 $
RewriteRule ^ \?Itemid = 134 $http://www.madplanuge.dk/madplan/lav-madplan?
[R = 301,L]
上述两种解决方案均无效。
答案 0 :(得分:4)
您无法单独使用RewriteRule,因为Apache会忽略查询字符串。如果查询字符串包含我们正在寻找的ID,我正在进行重定向。
RewriteCond %{QUERY_STRING} Itemid=134 [NC]
RewriteRule ^.*$ http://%{HTTP_HOST}/madplan/lav-madplan? [R=301,L]
请记住,当您测试浏览器是否会缓存301重定向时,您需要清除缓存以查看更改。
答案 1 :(得分:1)
你做错了两件事:
%{REQUEST_URI}
始终以斜杠开头,因此RewriteCond需要^/\?
而不是^\?
将RewriteRule中的^\?Itemid=134$
更改为^.*$
。 RewriteRule将整个URL作为第一个参数,而不仅仅是请求URI。
有关Apache重写的更多信息,请访问here。