四个例子实战讲解.htaccess文件rewrite规则.docxVIP

四个例子实战讲解.htaccess文件rewrite规则.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
四个例子实战讲解.htaccess文件rewrite规则

.htaccess文件大家都不陌生吧。不认识的自己去搜一下……顺便告诉你,这是个好东西,值得一学。似乎网上关于.htaccess编写方法的教程很有限,相信博主们也没有几个是自己写的吧?我在这里就搜了几个常用规则,总结一下rewrite规则的用法。当然这只是.htaccess功能的一小部分,但是相当实用。如果熟练掌握rewrite规则的编写,能够加强对网站URL的控制,对用户体验、SEO都十分有利。注:所有规则来源于网络,我只作解释。一、防盗链功能1234RewriteEngine OnRewriteCond %{HTTP_REFERER} !^http://(.+.)?/ [NC]RewriteCond %{HTTP_REFERER} !^$RewriteRule .*.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]逐行讲解一下:1.打开Rewrite功能。有可能服务器设置里已经是全局下打开了,但是多写也没事。2.RewriteCond指令,定义生效条件,用于寻找匹配条件的地址。后面内容用正则表达式匹配。代表含义是发送的请求不由而来,那就是盗链啦。末尾的[NC]代表忽略大小写。3.发送请求的主机前缀不为空。4.RewriteRule指令,定义重写规则,把匹配的地址按此规则重写。本例中把这些后缀为这些图片格式的,都替换到某一个图片下。[L]表示这是最后一段规则。只这四行就实现了防盗链是不是很神奇(- -||),编写起来是不是又觉得复杂。这里总结了几个常用参数(不是全部):RewriteCond下:[NC] 不分字母大小写[OR] 用于连接下一条规则RewriteRule下:[R] 强制重定向,[R=code] code默认为302[F] 禁用URL,返回HTTP 403 错误[L] 这是最后一条规则,之后内容无用还有一篇关于正则表达式的教程(很详细):/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm二、网址规范化1234Options +FollowSymLinksrewriteEngine onrewriteCond %{http_host} ^ [NC]rewriteRule ^(.*)$ /$1 [R=301,L]这个是把所有二级域名都重定向到的例子,现在看来是不是很简单了?需要注意的是,这里的Options +FollowSymLinks不是必须的,但在某些服务器如果不设置FollowSymLinks,可能引起500错误。再来看一个好玩的重定向1234RewriteEngine OnRewriteBase /RewriteCond %{HTTP_USER_AGENT} (Googlebot)RewriteRule ^ / [R=301,L]1.打开Rewrite功能。2.RewriteBase指令,设置目录级重写的基准URL。可以理解成把该目录(这个.htaccess所在目录)假定为基准的URL前缀。本例中这样的写法无用。3.RewriteCond指令。匹配所有USER_AGENT为Googlebot的发送请求。4.RewriteRule指令。本例中把这些请求都重定向到了。在本例中,这个配置应该是黑客所为,把google蜘蛛指向某个网站,等于伪造PR。三、临时错误页面当你的网站在升级、修改的时候,你最好让访客转到指定的页面,而不是没做完的页面或者是错误页。这时我们做一个302转跳就好。1234RewriteEngine onRewriteCond %{REQUEST_URI} !/maintenance.html$RewriteCond %{REMOTE_ADDR} !^23RewriteRule $ /error.html [R=302,L]1.继续打开Rewrite功能。- -|2.REQUEST_URI,请求的URL值。这里指所有访问maintenance.html页面的请求。3.REMOTE_ADDR,向服务器发送请求的IP地址。本例中此处应设为你自己的IP,这样就只有你能访问。4.RewriteRule指令。本例中把这些请求都重定向到了error.html 。在本例,我们总结几个常用的正则表达式和特殊符号。(.*) 用于匹配某一区域内所有内容。如 abc/def/ghi 可用 (.*)/(.*)/(.*) 匹配。([a-zA-Z_]+) 匹配英文单词,允许用-和_连接。([0-9]+) 匹配多位数字,通常用于匹配ID。([0-9]) 只匹配一位的数字。^ 表示正则的开始$ 表示正则的结束 四、重定向RSS地址到Feedburner除了可以更改模板里的RSS地址外,.htaccess也能实现RSS地址的更改,并更加方便。123

文档评论(0)

178****9325 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档