正在移动网站的网址,因此我们已将每个网页设置301重定向到新网站上的同等网页。我们用于此的语法是:
redirect 301 /about-us.html http://newiste.co.uk/about-us.html
我遇到的问题是如何将旧的主页 - http://oldsite.co.uk发送到http://newsite.co.uk - 因为主页位于domain.co.uk而且没有/index.html也有与www类似的问题。 vs非www。
会在旧域上配置我的.htaccess文件,这样做是否正确?
<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.oldsite\.co\.uk)(:80)? [NC]
RewriteRule ^(.*) http://oldsite.co.uk/$1 [R=301,L]
order deny,allow
redirect 301 / http://newsite.co.uk
redirect 301 /about-us.html http://newsite.co.uk/about-us.html
redirect 301 /contact-us.html http://newsite.co.uk/contact-us.html
redirect 301 /bespoke-furniture.html http://newsite.co.uk/bespoke-furniture.html
redirect 301 /how-we-work.html http://newsite.co.uk/discovery.html
答案 0 :(得分:1)
要重定向根文档,您可以使用以下重写规则:
RewriteRule ^/?$ http://newsite.co.uk/ [R=301,L]
也是对你的评论:
RewriteCond %{HTTP_HOST} ^(www\.oldsite\.co\.uk)(:80)? [NC]
端口号永远不是HTTP_HOST变量的一部分,最有效的方法是尽可能避免使用正则表达式:
RewriteCond %{HTTP_HOST} =www.oldsite.co.uk [NC]
您的代码redirect 301 / http://newsite.co.uk
将重定向所有内容,而不仅仅是根/