淘小兔

域名重定向优化是什么:

首先说明一下,这里说的域名重定向优化,是指把指向同一网站的的根域名zhishitu.com和二级域名www.zhishitu.com统一重定向到其中的一个网址上。

域名重定向优化的原因:

1. 我们的域名解析设置,一定要考虑到访客不同的浏览习惯。比如访问百度网站,有的人直接输入baidu.com,有的人习惯输入www.baidu.com,这样都能打开百度网站。来个访客不容易,我们一定要保证无论输入哪种形式的网址都能正确打开我们的网站。要做到这一点也很简单,至少解析根域名和www域名到主机IP就可以了。

2.既然访客都能访问我们的网站了,为什么还要重定向呢?只是为了样式统一起来好看吗?其实最主要的原因是为了更好地让搜索引擎收录,提高网页在搜索引擎里的排名。江湖传言,同一个网页,如果有不同的url网址的话,是会分散该页面的权重的。因此应该使用重定向把所有网址url都统一到http://www.zhishitu.com或者http://zhishitu.com的样式,至于选择哪一种就看个人喜好了。

Drupal 8如何进行域名重定向:

Drupal 8的.htaccess文件里已经分享了重定向的方法,只是用符号#给注释掉了,你可以根据需要把代码前面的#符号去掉,保存就可以生效了。

举个例子,如果知识兔想把http://zhishitu.com定向到http://www.zhishitu.com,修改代码如下:

  # To redirect all users to access the site WITH the 'www.' prefix,  # (http://example.com/foo will be redirected to http://www.example.com/foo)  # uncomment the following:     RewriteCond %{HTTP_HOST} .     RewriteCond %{HTTP_HOST} !^www\. [NC]     RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

如果知识兔想把http://www.zhishitu.com重定向到http://zhishitu.com,则需要修改代码如下:

  # To redirect all users to access the site WITHOUT the 'www.' prefix,  # (http://www.example.com/foo will be redirected to http://example.com/foo)  # uncomment the following:     RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]     RewriteRule ^ http%{ENV:protossl}://%1%{REQUEST_URI} [L,R=301]

这是现成的方案,直接用就可以了。那么知识兔的问题来了:现在流量劫持这么厉害,知识兔都已经申请了数字证书,启用https安全访问了,怎么样把所有访客都请到更安全的https渠道里来呢?没有搜到中文的解决方案,用万能的Google查到了stackoverflow有个讨论的帖子,试验了几次,终于解决问题了。方案如下:

Drupal 8域名重定向到https://www.zhishitu.com的方案

根目录的.htaccess文件代码:

  RewriteBaseRewriteCond %{HTTPS} !on [OR]  RewriteCond %{HTTP_HOST} !^www\.  RewriteRule ^ https://www.zhishitu.com%{REQUEST_URI} [NE,R=301,L]

用了这个方案,可以把http://zhishitu.comhttp://www.zhishitu.comhttps://zhishitu.com这三种网址全部重定向到https://www.zhishitu.com上来。

说明:知识兔主机采用阿里云ECS服务器,Ubuntu 14.04系统,Apache 2.4版本,一般Apache服务器应该都适用,但没有测试过。

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看内容!

如何获取密码?

 

点击下载