301重定向Linux URL代码分析

2019-01-30    来源:爱站科技

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

  301重定向Linux URL代码分析,301重定向已经过很多次了,它可以将网站的主域名和二级域名规范到一个url上,使网页在搜索引擎里只能通过唯一的一个地址可以访问到,以免因重复内容造成降权。所以凡是使用linux的主机,我都会定义个301重定向,以利于SEO。昨天照例把htaccess传到服务器上,没想到传上后网站无法访问,一删除就恢复正常。看了很多遍代码,也没发现什么问题。 干脆就重新学习下URL重写方法。

  规范化URL

  描述:

  在有些web服务器上,一个资源会拥有多个URL。在实际应用和发布中应该使用的是规范的URL,其他的则是简写或者只在内部使用。无论用户在请求中使用什么形式的URL,最终看见的都应该是规范的URL。

  解决方案:

  对所有不规范的URL执行一个外部HTTP重定向,以改变它在浏览器地址栏中的显示及其后继请求。下例中的规则集用规范的/u/user替换/~user,并修正了/u/user所遗漏的后缀斜杠。

  RewriteRule ^/~([^/]+)/?(.*) /u/$1/$2 [R]

  RewriteRule ^/([uge])/([^/]+)$ /$1/$2/ [R]

  规范化主机名

  描述:

  这个规则的目的是强制使用特定的主机名以代替其他名字。比如,你想强制使用www.example.com代替example.com,就可以在以下方案的基础上进行修改:

  解决方案:

  对运行在非80端口的站点

  RewriteCond %{HTTP_HOST} !^fully\.qualified\.domain\.name [NC]

  RewriteCond %{HTTP_HOST} !^$

  RewriteCond %{SERVER_PORT} !^80$

  RewriteRule ^/(.*) http://fully.qualified.domain.name:%{SERVER_PORT}/$1 [L,R]

  对运行在80端口的站点

  RewriteCond %{HTTP_HOST} !^fully\.qualified\.domain\.name [NC]

  RewriteCond %{HTTP_HOST} !^$

  RewriteRule ^/(.*) http://fully.qualified.domain.name/$1 [L,R]

  参考了上面的规则,发现自己原先的代码里少了个!号,加上就恢复正常了。

  Options +FollowSymlinks

  RewriteEngine on

  RewriteCond %{HTTP_HOST} !^do-javascript.com [NC]

  RewriteCond %{HTTP_HOST} !^$

  RewriteRule ^/(.*) http://www.do-javascript.com/$1 [r=301,nc]

  以上就是301重定向Linux URL代码分析,如果大家想了解更多相关内容,请持续关注本站,本站小编将在第一时间为大家带来更好的经典内容。

标签: linux seo web服务器 代码 二级域名 服务器 搜索 搜索引擎 域名 主域名

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:远程实现为Linux服务器添加新分区

下一篇:在Linux上建立DNS服务器