欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

Apache 相关 mod_rewrite ,RewriteCond,{HTTP_HOST}

程序员文章站 2022-06-12 19:02:04
...
1.给子域名加www标记
%{HTTP_HOST} !^www\..? http:
这个规则抓取二级域名的%1变量,如果不是以www开始,那么就加www,以前的域名以及{REQUEST_URI}会跟在其后。

2.去掉域名中的www标记

.? http:

3.去掉www标记,但是保存子域名

.? http:
这里,当匹配到1%变量以后,子域名才会在%2(内部原子)中抓取到,而我们需要的正是这个%1变量。 



4.防止图片盗链

%{HTTP_REFERER} !^%{HTTP_REFERER} !^http:
RewriteRule \.(gif|jpg|png)$ -|jpg|%{HTTP_REFERER} !^%{HTTP_REFERER} !^http:
RewriteRule \.(gif|jpg|png)$ 你的图片地址 [R=301,%{HTTP_REFERER} !^http:
RewriteRule \.(gif|jpg|png)$ - [F,

5.如果文件不存在重定向到404页面

%{REQUEST_FILENAME} !-%{REQUEST_FILENAME} !-.? /404.-f匹配的是存在的文件名,-d匹配的存在的路径名。这段代码在进行404重定向之前,会判断你的文件名以及路径名是否存在。你还可以在404页面上加一个?url=^/?(.*)$ /404.php?url=$1



6.重命名目录

^/?old_directory/([a-z/.]+)$ new_directory/$1 [R=301,.”(注意不是代表得所有字符,前面有转义符)来匹配文件的后缀名。 


7.将.html后缀名转换成.php

^/?([a-z/]+)\.html$ $1.=301,L]。 


8.创建无文件后缀名链接

^/?([a-z]+)$ $1.%{REQUEST_FILENAME}.php -^/?([a-zA-Z0-9]+)$ $1.%{REQUEST_FILENAME}.html -^/?([a-zA-Z0-9]+)$ $1..php为后缀,这条规则将被执行。

9.检查查询变量里的特定参数

%{QUERY_STRING} !uniquekey=^/?script_that_requires_uniquekey\.php$ other_script.php [QSA,


10.删除查询变量

.分配一个新的查询参数(你可以用[QSA,.在文件名后面加一个“?”(比如index.php?)。符号“?”不会在浏览器的地址栏里显示。

11.用新的格式展示当前URI

%{QUERY_STRING} !%{QUERY_STRING} id=([-a-zA-Z0-9_+]+^/?index\.php$ %1? [R=301,^/?([-a-zA-Z0-9_+]+)$ index.php?marker &id=$1:
第二次匹配,marker被匹配,所以忽略第一条规则,这里有一个“.”字符会出现在http:
注意,这个解决方案要求Apache的一些扩展功能,所以如果你的网站放于在共享主机中会遇到很多障碍。


12.保证安全服务启用

%{REQUEST_URI} ^secure_page\.%{HTTPS} !^/?(secure_page\.php)$ https:
以上规则测试{REQUEST_URI}值是否等于我们的安全页代码,并且{HTTPS}不等于on。如果这两个条件同时满足,请求将被重定向到安全服务URI.%{REQUEST_URI} ^secure_page\.%{SERVER_PORT} !^443^/?(secure_page\.php)$ https:

13.在特定的页面上强制执行安全服务

%{SERVER_PORT} !^443^/?(page1|page2|page3|page4|page5)$ https:
%{ SERVER_PORT } ^443!^/?(page6|page7|page8|page9):
                                                      

                                                                          

Apache 相关 mod_rewrite ,RewriteCond,{HTTP_HOST}

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。