1.给子域名加www标记
<span rewritecond com>%{HTTP_HOST} !^www\.<span rewriterule>.? http:<span><span www.>
这个规则抓取二级域名的%1变量,如果不是以www开始,那么就加www,以前的域名以及{REQUEST_URI}会跟在其后。</span></span></span></span>2.去掉域名中的www标记
<span rewritecond com rewriterule>.? http:<span><span example.com></span></span></span>
3.去掉www标记,但是保存子域名
立即学习“PHP免费学习笔记(深入)”;
<span rewritecond com rewriterule>.? http:<span><span> 这里,当匹配到1%变量以后,子域名才会在%2(内部原子)中抓取到,而我们需要的正是这个%1变量。 </span></span></span>
4.防止图片盗链
<span rewritecond>%{HTTP_REFERER} !^<span rewritecond>%{HTTP_REFERER} !^http:<span><span>
RewriteRule \.(gif|jpg|png)$ -<span>|jpg|<span png rewritecond>%{HTTP_REFERER} !^<span rewritecond>%{HTTP_REFERER} !^http:<span><span>
RewriteRule \.(gif|jpg|png)$ 你的图片地址 [R=301,<span l rewritecond>%{HTTP_REFERER} !^http:<span><span>
RewriteRule \.(gif|jpg|png)$ - [F,<span l></span></span></span></span></span></span></span></span></span></span></span></span></span>
5.如果文件不存在重定向到404页面
<span rewritecond>%{REQUEST_FILENAME} !-<span f rewritecond>%{REQUEST_FILENAME} !-<span d rewriterule>.? /404.<span php>-f匹配的是存在的文件名,-d匹配的存在的路径名。这段代码在进行404重定向之前,会判断你的文件名以及路径名是否存在。你还可以在404页面上加一个?url=<span rewriterule>^/?(.*)$ /404.php?url=$1<span></span></span></span></span></span></span>
6.重命名目录
<span rewriterule>^/?old_directory/([a-z/.]+)$ new_directory/$1 [R=301,<span l>.”(注意不是代表得所有字符,前面有转义符)来匹配文件的后缀名。 </span></span>
7.将.html后缀名转换成.php
<span html rewriterule>^/?([a-z/]+)\.html$ $1.<span php>=301,L]。 </span></span>
8.创建无文件后缀名链接
<span rewriterule>^/?([a-z]+)$ $1.<span php rewritecond>%{REQUEST_FILENAME}.php -<span f rewriterule>^/?([a-zA-Z0-9]+)$ $1.<span php rewritecond>%{REQUEST_FILENAME}.html -<span f rewriterule>^/?([a-zA-Z0-9]+)$ $1.<span html>.php为后缀,这条规则将被执行。</span></span></span></span></span></span>
9.检查查询变量里的特定参数
<span rewritecond>%{QUERY_STRING} !uniquekey=<span rewriterule>^/?script_that_requires_uniquekey\.php$ other_script.php [QSA,<span l></span></span></span>
10.删除查询变量
<span apache a>.分配一个新的查询参数(你可以用[QSA,<span l b>.在文件名后面加一个“?”(比如index.php?)。符号“?”不会在浏览器的地址栏里显示。</span></span>
11.用新的格式展示当前URI
<span php rewritecond>%{QUERY_STRING} !<span marker rewritecond>%{QUERY_STRING} id=([-a-zA-Z0-9_+]+<span rewriterule>^/?index\.php$ %1? [R=301,<span l rewriterule>^/?([-a-zA-Z0-9_+]+)$ index.php?marker &id=$1<span>:<span><span www.example.com>
第二次匹配,marker被匹配,所以忽略第一条规则,这里有一个“.”字符会出现在http:<span><span www.example.com>
注意,这个解决方案要求Apache的一些扩展功能,所以如果你的网站放于在共享主机中会遇到很多障碍。</span></span></span></span></span></span></span></span></span>
12.保证安全服务启用
<span apache rewritecond>%{REQUEST_URI} ^secure_page\.<span php rewritecond>%{HTTPS} !<span on rewriterule>^/?(secure_page\.php)$ https:<span><span www.example.com>
以上规则测试{REQUEST_URI}值是否等于我们的安全页代码,并且{HTTPS}不等于on。如果这两个条件同时满足,请求将被重定向到安全服务URI.<span rewritecond>%{REQUEST_URI} ^secure_page\.<span php rewritecond>%{SERVER_PORT} !^443<span rewriterule>^/?(secure_page\.php)$ https:<span><span www.example.com></span></span></span></span></span></span></span></span></span></span>
13.在特定的页面上强制执行安全服务
<span rewritecond>%{SERVER_PORT} !^443<span rewriterule>^/?(page1|page2|page3|page4|page5)$ https:<span><span www.example.com>
<span rewritecond>%{ SERVER_PORT } ^443<span rewriterule>!^/?(page6|page7|page8|page9)<span>:<span><span www.example.com></span><br> <br></span></span></span></span></span></span></span></span>











