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