问题描述
我已经注意到,搜索引擎一直在抓取两个domain.co.uk和www.domain.co.uk是我最近开发了一个网站的版本。使用的.htaccess我已经能够建立HTTP 301重定向,以便:
- http://domain.co.uk 被重定向到的
和
不过:
- http://domain.co.uk/index.html 不重定向到 http://www.domain.co.uk 因为我期望的那样。相反,重定向进入: HTTP://www.domain。 co.uk/http://www.domain.co.uk/
我的.htaccess中的内容(很明显,我已经取代我的域名,以简化事项):
选项+了FollowSymLinks
RewriteEngine叙述上
的RewriteCond%{HTTP_HOST} ^ domain.co.uk [NC]
重写规则^(。*)$ http://www.domain.co.uk/$1 [R = 301,NC]
的RewriteCond%{THE_REQUEST} ^ * / index.html的
重写规则^(。*)的index.html $ http://www.domain.co.uk/$1 [R = 301,L]
我知道我可能失去了一些东西明显,但请能有人帮助我得到最终重定向到 HTTP:// WWW .domain.co.uk 按预期工作?
规则集的第一部分工作正常,缺少的WWW。正确添加。对于第二部分,你只需要一个简单的规则删除的index.html,而无需使用任何附加条件:
选项+了FollowSymLinks
RewriteEngine叙述上
的RewriteCond%{HTTP_HOST} ^ domain.co.uk [NC]
重写规则^(。*)$ http://www.domain.co.uk/$1 [R = 301,NC]
重写规则^ index.html的$ http://www.domain.co.uk/ [R = 301,L]
我想这应该做的伎俩。
I have noticed that search engines have been crawling both the domain.co.uk and www.domain.co.uk versions of a web site that I've recently developed.Using .htaccess I have been able to setup http 301 redirects so that:
- http://domain.co.uk is redirected to http://www.domain.co.uk
and
- http://www.domain.co.uk/index.html is redirected to http://www.domain.co.uk
However:
- http://domain.co.uk/index.html does not get redirected to http://www.domain.co.uk as I would expect. Instead the redirect goes to: http://www.domain.co.uk/http://www.domain.co.uk/
The contents of my .htaccess are (obviously I have replaced my domain to simplify matters):
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{http_host} ^domain.co.uk [nc]
RewriteRule ^(.*)$ http://www.domain.co.uk/$1 [R=301,nc]
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://www.domain.co.uk/$1 [R=301,L]
I know I am probably missing something obvious but please could someone help me get the final redirect to http://www.domain.co.uk working as expected?
The first part of your rule set is working fine, the missing www. is added correctly. For the second part you only need a simple rule to remove the index.html without using any additional condition:
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain.co.uk [NC]
RewriteRule ^(.*)$ http://www.domain.co.uk/$1 [R=301,NC]
RewriteRule ^index.html$ http://www.domain.co.uk/ [R=301,L]
I think this should do the trick.
这篇关于使用的.htaccess重定向domain.co.uk/index.html到www.domain.co.uk的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!