常用Rewrite规则

来自站长百科
跳转至: 导航、​ 搜索

常用Rwrite规则将为大家提供一些经常会遇到的rewrite规则供大家参考,也包括一些常用网站程序的Rewite规则我们也进行了收集整理,目的是帮助大家快速的找到自己需要的rewrite规则。

网址规范化[ ]

网址规范化对于搜索引擎优化很重要,很多时候可以通过Rewrite进行301转向来完成网址的规范。利用301转向做网址规范化的过程就是将非主要的重复内容的网址转向到主要的网址上。

将不带www的网址转向到带www的网址上[ ]

很多网站使用的是 www.zzbaike.com 这样的网址格式,但是一般也会将不带www的,也就是zzbaike.com解析到服务器上,这样就导致www.zzbaike.com 和zzbaike.com都可以访问,而且访问的是相同的页面。通过Rewrite做301转向,当用户访问 zzbaike.com的时候就会自动转向到 www.zzbaike.com上。

操作方法:

在.htaccess文件中 加入:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^zzbaike\.com$ [NC]
RewriteRule ^(.*)$ http://www.zzbaike.com/$1 [L,R=301]

将上面的域名修改为你的网站的域名即可。

将带WWW的网址啊转向到不带www的网址[ ]

如果你的主要网址使用的是不带www的,就要用下面的规则:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]

将上面的域名修改为你的网站的域名即可。

伪静态[ ]

通过Rewrite可以实现网站的伪静态.每一种网站程序的rewrite规则都不一样,使用的时候需要参考每个程序的设置说明。这里列出一些主要的网站程序的rewrite规则工大家参考:

Discuz的Rewrite规则

WordPress的Rewrite规则

防盗链[ ]

利用ApacheRewrite功能可以实现防盗链功能,当不被允许的网站调用你的网站上被保护的内容时就会返回一个错误或者是替换图片。




RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://feed.pmer.org/.*$      [NC]
RewriteCond %{HTTP_REFERER} !^http://feed.pmer.org$      [NC]
RewriteCond %{HTTP_REFERER} !^http://pmer.org/.*$      [NC]
RewriteCond %{HTTP_REFERER} !^http://pmer.org$      [NC]
RewriteCond %{HTTP_REFERER} !^http://www.feed.pmer.org/.*$      [NC]
RewriteCond %{HTTP_REFERER} !^http://www.feed.pmer.org$      [NC]
RewriteCond %{HTTP_REFERER} !^http://www.pmer.org/.*$      [NC]
RewriteCond %{HTTP_REFERER} !^http://www.pmer.org$      [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ http://www.idcspy.com/logo.gif [R,NC]
  • 第一行启用Rewrite
  • 第二行是 判断是否是浏览器直接访问( REFERER为空),如果允许浏览器直接访问就保留这行,不允许就删除掉。
  • 下面的几行是设置允许哪些网站调用的,把允许的网站都按照这种格式加上即可
  • 最后一行是RewriteRule,(jpg|jpeg|gif|png|bmp) 中设置防盗链的文件后缀,根据实际需要添加。不是上面允许的网站的调用这些类型的文件都会被重定向到后面的那个图片。如果不需要设置替换图片就把最后一行修改为:
RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ - [F,NC]

阻止坏爬虫和离线浏览器[ ]

相关条目[ ]

htaccess 伪静态 apache