一个新网站刚刚上线,并且有一个htaccess文件,其中有301个重定向,以便将人们从旧域的旧页面引导到新域的新页面。
然而,因为有一个?和=链接中的符号不起作用。
我知道我需要利用查询字符串,但我无法弄清楚如何使这三个示例正常工作。
Redirect 301 /index.cfm?task=what_we_do http://domain.com/services/
Redirect 301 /pagecontent/_newsitem.cfm?newsid=63 http://domain.com/name-of-article/
Redirect 301 /pagecontent/_people.cfm?peopleid=3 http://domain.com/about-us/meet-the-team/john-smith/
有人可以帮忙吗?
答案 0 :(得分:1)
您无法在重定向中使用查询字符串。你必须使用mod_rewrite。
RewriteEngine On
RewriteCond %{QUERY_STRING} ^task=what_we_do$
RewriteRule ^index.cfm http://domain.com/services/? [R=301,L]
RewriteCond %{QUERY_STRING} ^_newsid=63$
RewriteRule ^pagecontent/_newsitem.cfm http://domain.com/name-of-article/? [R=301,L]
RewriteCond %{QUERY_STRING} ^_peopleid=3$
RewriteRule ^pagecontent/_people.cfm http://domain.com/about-us/meet-the-team/john-smith/? [R=301,L]