我正在尝试更改网站上的.htaccess,以便每个网页重定向到另一个网站上的特定网页。我设法让非根级别页面重定向到新域没有问题,但是我似乎尝试从旧网站的根目录重定向我最终得到“太多重定向”问题。这对于优化某个网站从以前的域名进行更改时非常关键,因此了解更有用。
我工作的代码就是:
Redirect 301 /my_counselling.html newsite.org.uk/
Redirect 301 /fees_and_contacts.html newsite.org.uk//?page_id=11
Redirect 301 /qualifications.html newsite.org.uk/
Redirect 301 /resources.html newsite.org.uk/
Redirect 301 /abuse.html newsite.org.uk/
Redirect 301 /drug_and_alchol.html newsite.org.uk//?page_id=57
Redirect 301 /lgbt_sexuality.html newsite.org.uk//?page_id=13
Redirect 301 /dyslexia.html newsite.org.uk//?page_id=8
但是以下尝试匹配ROOT级别都会失败:
Redirect 301 / newsite.org.uk/
或
RewriteRule oldsite.com/ newsite.org.uk [R=301,L,NC]
或
RedirectMatch 301 ^/ newsite.org.uk/
这是我读过的建议。
这感觉应该很简单。如果我可以让访问者和机器人本来到旧站点的根目录转到新站点的根目录,我就完成了。
非常感谢!
答案 0 :(得分:0)
看起来这两个域都在同一台服务器上,在这种情况下,你需要使用RewriteCondition匹配olddomain,然后如果该条件为真,则重定向到newdomain。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?olddomain.uk$
RewriteRule ^(.*)$ http://www.newdomain.uk/$1 [NC,L,R=301]