我有这个问题,我将CMS从旧的切换到新的,所以我试图正确地重定向网址。
以下是我想转换的一些示例网址:
#-1) http://www.mysite.com/?dispatch=search_data&features=hash_tag
#-2) http://www.mysite.com/index.php?dispatch=search_data&features=hash_tag
基本上它们都是相同的,除了第一个在url中没有index.php。
我得到以下代码以部分工作:
RewriteCond %{QUERY_STRING} dispatch=(.*)
RewriteRule ^$ http://www.mysite.com/? [L,R=301]
上面的代码适用于#-1(当没有index.php时)但是当有index.php时它不起作用。
非常感谢任何帮助/指导。
由于
的 的 __ _ __ _ __ _ ___ 更新的 _ __ _ __ _ __ _ __ < EM> _ __
根据请求,以下是目标网址的内容:
http://www.mysite.com/
答案 0 :(得分:2)
你是什么意思“有效”?
您应该发布一个示例,说明您希望新网址在给定旧网址时的效果。
但无论如何,您的部分问题是RewriteRule
行明确排除了index.php
以及您网站上的任何其他网页。
你写的内容基本上转化为:
if the query string contains "dispatch=...":
redirect requests FOR THE HOME PAGE ONLY (^$) to http://www.mysite.com/
答案 1 :(得分:1)
RewriteCond %{QUERY_STRING} dispatch=(.*)
RewriteRule ^(index.php)?$ http://www.mysite.com/? [L,R=301]
答案 2 :(得分:0)
您是否尝试过更改第二部分以包含“index.php”部分?
RewriteRule ^$ http://www.mysite.com/index.php? [L,R=301]