SEO中有个可优化的点是:网站最好是有一个唯一的主页地址。
那么咱知道一个主页可以有很多种方式访问。以假设的域名domainabc.com为例,主页文件是index.php:
- http://domainabc.com
- http://www.domainabc.com
- http://domainabc.com/index.php
- https://domainabc.com
- https://www.domainabc.com
- https://domainabc.com/index.php
….以此类推。
但是我们希望访客以及蜘蛛都能通过https://domainabc.com访问网站。
我们可以将80端口进来的请求转向443端口,主页文件无论是html还是php的,都指向 https://domainabc.com/这个地址。
我们可以在根目录下的.htaccess文件里写入如下代码:
#开启转发功能
RewriteEngine on
#80端口的请求转向443端口
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
#80端口index相关文件的请求转向443端口的根路径
RewriteCond %{THE_REQUEST} ^.*/index\.(html|php|cgi)
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)index\.(html|php|cgi)$ http://domainabc.com/$1 [R=301,L]
#443端口index相关文件的请求转向根路径
RewriteCond %{THE_REQUEST} ^.*/index\.(html|php|cgi)
RewriteCond %{SERVER_PORT} 443
RewriteRule ^(.*)index\.(html|php|cgi)$ https://domainabc.com/$1 [R=301,L]
#80端口www域名的请求转向443端口的根路径
RewriteCond %{HTTP_HOST} ^www\.domainabc\.com
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ http://domainabc.com/$1 [R=301,L]
#443端口www域名的请求转向根路径
RewriteCond %{HTTP_HOST} ^www\.domainabc\.com
RewriteCond %{SERVER_PORT} 443
RewriteRule ^(.*)$ https://domainabc.com/$1 [R=301,L]
以上配置中,首先要确认网站有没有安装证书,是否支持https方式访问。有没有绑定www记录等。基于实际情况,酌情使用相关代码。
评论区
发表新的留言
您可以留言提出您的疑问或建议。
您的留言得到回复时,会通过您填写的邮箱提醒您。