科技常识:linux URL的301重定向代码分析

2021-04-16 10:35:11
导读 今天小编跟大家讲解下有关科技常识:linux URL的301重定向代码分析,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关科技常识

今天小编跟大家讲解下有关科技常识:linux URL的301重定向代码分析,相信小伙伴们对这个话题应该也很关注吧,小编也收集到了有关科技常识:linux URL的301重定向代码分析的相关资料,希望小伙伴会喜欢也能够帮助大家。

所以凡是使用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 +FollowSymlinksRewriteEngine onRewriteCond %{HTTP_HOST} !^do-javascript.com [NC]RewriteCond %{HTTP_HOST} !^$RewriteRule ^/(.*) http://www.do-javascript.com/$1 [r=301,nc]

来源:爱蒂网

免责声明:本文由用户上传,如有侵权请联系删除!

猜你喜欢

最新文章