PHP头条
热点:

Apache 相关 mod_rewrite ,RewriteCond,{HTTP_HOST}


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):
                                                      

                                                                                 

www.phpzy.comtrue/php/4183.htmlTechArticleApache 相关 mod_rewrite ,RewriteCond,{HTTP_HOST} 1.给子 域名 加www标记 %{HTTP_HOST} !^www\. .? http: 这个规则抓取二级域名的%1变量,如果不是以www开始,那么就加www,以前的域名以及{REQUEST_URI}会跟在...

相关文章

相关频道:

PHP之友评论

今天推荐