域名重定向优化是什么:
首先说明一下,这里说的域名重定向优化,是指把指向同一网站的的根域名daweibro.com和二级域名www.daweibro.com统一重定向到其中的一个网址上。
域名重定向优化的原因:
1. 我们的域名解析设置,一定要考虑到访客不同的浏览习惯。比如访问百度网站,有的人直接输入baidu.com,有的人习惯输入www.baidu.com,这样都能打开百度网站。来个访客不容易,我们一定要保证无论输入哪种形式的网址都能正确打开我们的网站。要做到这一点也很简单,至少解析根域名和www域名到主机IP就可以了。
2.既然访客都能访问我们的网站了,为什么还要重定向呢?只是为了样式统一起来好看吗?其实最主要的原因是为了更好地让搜索引擎收录,提高网页在搜索引擎里的排名。江湖传言,同一个网页,如果有不同的url网址的话,是会分散该页面的权重的。因此应该使用重定向把所有网址url都统一到http://www.daweibro.com或者http://daweibro.com的样式,至于选择哪一种就看个人喜好了。
Drupal 8如何进行域名重定向:
Drupal 8的.htaccess文件里已经提供了重定向的方法,只是用符号#给注释掉了,你可以根据需要把代码前面的#符号去掉,保存就可以生效了。
举个例子,如果大伟哥想把http://daweibro.com定向到http://www.daweibro.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.daweibro.com重定向到http://daweibro.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.daweibro.com的方案
根目录的.htaccess文件代码:
RewriteBase / RewriteCond %{HTTPS} !on [OR] RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^ https://www.daweibro.com%{REQUEST_URI} [NE,R=301,L]
用了这个方案,可以把http://daweibro.com, http://www.daweibro.com, https://daweibro.com这三种网址全部重定向到https://www.daweibro.com上来。
说明:大伟哥博客主机采用阿里云ECS服务器,Ubuntu 14.04系统,Apache 2.4版本,一般Apache服务器应该都适用,但没有测试过。
- 添加新评论
- 710 阅读
评论
drupal8里面好多.htaccess文件 …
在你drupal根目录里,第一层
跳转
跳转到站内的页面是可以的,使用Redirect…
跳转到站内的页面是可以的,使用Redirect after logout模块可以实现,项目地址是在https://www.drupal.org/project/redirect_after_logout
但是想要跳转到站外比如baidu.com,大伟哥测试的结果是行不通,即使配合drupal的redirect模块也不能实现。估计要做二次开发了。
添加新评论