在本文中,我们将给您介绍关于多个RewriteConditions:如何在一组规则之前链接它们?的详细内容,此外,我们还将为您提供关于ApacheRewriteCondRewriteRule、Apac
在本文中,我们将给您介绍关于多个RewriteConditions:如何在一组规则之前链接它们?的详细内容,此外,我们还将为您提供关于Apache RewriteCond RewriteRule、Apache – 在2.2 / 2.4中逻辑链接RewriteCond的限制、Apache 相关 mod_rewrite ,RewriteCond,{HTTP_HOST}、Apache 相关 mod_rewrite ,RewriteCond,{HTTP_HOST}_PHP教程的知识。
本文目录一览:- 多个RewriteConditions:如何在一组规则之前链接它们?
- Apache RewriteCond RewriteRule
- Apache – 在2.2 / 2.4中逻辑链接RewriteCond的限制
- Apache 相关 mod_rewrite ,RewriteCond,{HTTP_HOST}
- Apache 相关 mod_rewrite ,RewriteCond,{HTTP_HOST}_PHP教程
多个RewriteConditions:如何在一组规则之前链接它们?
Q1 :如何将这两个条件链接在一起, if BOTH A AND B,then proceed...
Q2 :如何让他们坚持下面的所有重写规则而不仅仅是第一条规则?
RewriteCond %{REQUEST_URI} ^IMAGE-.*$ // if filename starts with IMG- and,RewriteCond %{REQUEST_FILENAME} !-f // if file does exist,then proceed: RewriteRule Rule1 RewriteRule Rule2 RewriteRule Rule3 # -- END IF -- STOP HERE -- #
如何解决favicon.ico在Apache上找不到错误
Zend Framework:从路由获取子域参数
PHP错误日志和换行符
安装SSH2 for PHP以在OSX 10.9.1上的Xampp Apache服务器上运行
如何使用.htaccess文件将所有stream量从一个域redirect到另一个域?
下面是使RewriteCond堆栈适用于多个RewriteRule的一些技巧, 按每分钟增加WTF的顺序排序。 但是这是配置而不是代码,所以这些规则不适用,对吧?
总结
以上是小编为你收集整理的多个RewriteConditions:如何在一组规则之前链接它们?全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
Apache RewriteCond RewriteRule
Apache中 RewriteCond语句对于我来说一直是个难点,多次试图去把它搞明白,都没有结构,这次我终于算大概知道它的意思了。
RewriteCond就像我们程序中的if语句一样,表示如果符合某个或某几个条件则执行RewriteCond下面紧邻的RewriteRule语句,这就是RewriteCond最原始、基础的功能,为了方便理解,下面来看看几个例子。
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^Mozilla\/5\.0.*
RewriteRule index.php index.m.php
RewriteCond %{HTTP_USER_AGENT} ^Lynx.*
RewriteRule index.php index.L.php
RewriteRule index.php index.b.php
上 面语句的作用是当你是用FF浏览器访问index.php这个文件的时候,会自动让你访问到index.m.php这个文件,当你是用一些移动终端访问的 时候,会让你对index.php这个文件的访问实际访问的是index.L.php去,如果你是用其它的浏览器访问的时候,会让你跳到 index.b.php。在说形象一点,上面的语句就等同于程序里面的下面语句(依PHP语句为例):
if($_SERVER[''HTTP_USER_AGENT''] == ''Mozilla/5.0'')
{
//跳转到对index.m.php的访问
}
else if($_SERVER[''HTTP_USER_AGENT''] == ''Lynx'')
{
//跳转到对index.L.php的访问
}
else
//跳转到对index.b.php的访问
在看例2:
RewriteCond %{HTTP_REFERER} (www.test.cn)
RewriteRule (.*)$ test.php
上面语句的作用是如果你访问的上一个页面的主机地址是www.test.cn,则无论你当前访问的是哪个页面,都会跳转到对test.php的访问。
在看例三:
RewriteCond %{REMOTE_HOST} ^host1.* [OR]
RewriteCond %{REMOTE_HOST} ^host2.* [OR]
RewriteCond %{REMOTE_HOST} ^host3.*
RewriteRule (.*)$ test.php
上面语句的作用是如果你的地址是host1或host2或host3的时候,则就跳到对test.php。从这里可以看出,RewriteCond语句之间默认的是AND,如果想要OR,则要明确的写出来。
下面是自己收藏的一些有用的重写规则:
RewriteCond %{REQUEST_FILENAME} !-f //如果文件存在,就直接访问文件,不进行下面的RewriteRule.(不是文件或文件不存在就执行重写)
RewriteCond %{REQUEST_FILENAME} !-d //#如果目录存在就直接访问目录不进行RewriteRule
RewriteCond %{REQUEST_URI} !^.*(\.css|\.js|\.gif|\.png|\.jpg|\.jpeg)$ //#如果是这些后缀的文件,就直接访问文件,不进行Rewrite
Apache – 在2.2 / 2.4中逻辑链接RewriteCond的限制
这些天我读了一篇关于[OR]优先于隐含[AND]的非常有趣的post 。 我真的很喜欢原来的问题以及高度赞赏的答案。
我最近偶然发现了有关这个话题的进一步的问题。
一旦您尝试expression以下内容,问题就会开始:
RewriteCond A RewriteCond B RewriteCond C RewriteRule ...
与A OR (B AND C) 。 无论你放置[OR] ,它都不起作用:
batch file注册查询与逻辑运算符(不)
#resolves to (A OR B) AND C RewriteCond A [OR] RewriteCond B RewriteCond C RewriteRule ... #resolves to A AND (B OR C) RewriteCond A RewriteCond B [OR] RewriteCond C RewriteRule ... #makes no sense at all with no further cond after c RewriteCond A RewriteCond B RewriteCond C [OR] RewriteRule ...
RewriteCon越多越好,因为你总是需要一个“伙伴”来把[OR]与:(我的发现是
您只能表示来自CNF的RewriteCond集( 连接范式 )。
其中,imho是相当巨大的,并且由于没有明确的[AND]以及不可能将两个Cond括在一起而引起。
PLEEEEASE纠正我,如果我错了,我真的希望我只是错过了一些东西! 并不是说你总是可以编写一个以上的规则来满足你的需求,但是这实际上让我感到困扰,因为我有一个真正的用户需求的例子。
TL; DR
第二个你试图expression
(block of ''n'' ANDs) OR X # with n > 0 # and X being a random logical expression (or in rewrite-terms: Rewrite-Cond set)
你不能用当前的逻辑运算符( [OR] ! )
总结
以上是小编为你收集整理的Apache – 在2.2 / 2.4中逻辑链接RewriteCond的限制全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
Apache 相关 mod_rewrite ,RewriteCond,{HTTP_HOST}
1.给子域名加www标记
<span RewriteCond %{HTTP_HOST} ^([a-z.]+)?example\.<span com$ [NC] RewriteCond </span>%{HTTP_HOST} !^www\.<span [NC] RewriteRule </span>.? http:<span //</span><span www.%1example.com%{REQUEST_URI} [R=301,L] </span> 这个规则抓取二级域名的%1变量,如果不是以www开始,那么就加www,以前的域名以及{REQUEST_URI}会跟在其后。</span>
2.去掉域名中的www标记
<span RewriteCond %{HTTP_HOST} !^example\.<span com$ [NC] RewriteRule </span>.? http:<span //</span><span example.com%{REQUEST_URI} [R=301,L] </span></span>
3.去掉www标记,但是保存子域名
<span RewriteCond %{HTTP_HOST} ^www\.(([a-z0-9_]+\.)?example\.<span com)$ [NC] RewriteRule </span>.? http:<span //</span><span %1%{REQUEST_URI} [R=301,L] </span> 这里,当匹配到1%变量以后,子域名才会在%2(内部原子)中抓取到,而我们需要的正是这个%1变量。 </span>
4.防止图片盗链
<span <span 一些站长不择手段的将你的图片盗链在他们网站上,耗费你的带宽。你可以加一下代码阻止这种行为。 RewriteCond </span>%{HTTP_REFERER} !^<span $ RewriteCond </span>%{HTTP_REFERER} !^http:<span //</span><span (www\.)?example\.com/ [NC] </span> RewriteRule \.(gif|jpg|png)$ -<span [F] 如果{HTTP_REFERER}值不为空,或者不是来自你自己的域名,这个规则用[F]FLAG阻止以gif</span>|jpg|<span png 结尾的URL 如果对这种盗链你是坚决鄙视的,你还可以改变图片,让访问盗链网站的用户知道该网站正在盗用你的图片。 RewriteCond </span>%{HTTP_REFERER} !^<span $ RewriteCond </span>%{HTTP_REFERER} !^http:<span //</span><span (www\.)?example\.com/.*$ [NC] </span> RewriteRule \.(gif|jpg|png)$ 你的图片地址 [R=301,<span L] 除了阻止图片盗链链接,以上规则将其盗链的图片全部替换成了你设置的图片。 你还可以阻止特定域名盗链你的图片: RewriteCond </span>%{HTTP_REFERER} !^http:<span //</span><span (www\.)?leech_site\.com/ [NC] </span> RewriteRule \.(gif|jpg|png)$ - [F,<span L] 这个规则将阻止域名黑名单上所有的图片链接请求。 当然以上这些规则都是以{HTTP_REFERER}获取域名为基础的,如果你想改用成IP地址,用{REMOTE_ADDR}就可以了。</span></span>
5.如果文件不存在重定向到404页面
<span <span 如果你的主机没有提供404页面重定向服务,那么我们自己创建。 RewriteCond </span>%{REQUEST_FILENAME} !-<span f RewriteCond </span>%{REQUEST_FILENAME} !-<span d RewriteRule </span>.? /404.<span php [L] 这里</span>-f匹配的是存在的文件名,-d匹配的存在的路径名。这段代码在进行404重定向之前,会判断你的文件名以及路径名是否存在。你还可以在404页面上加一个?url=<span $1参数: RewriteRule </span>^/?(.*)$ /404.php?url=$1<span [L] 这样,你的404页面就可以做一些其他的事情,例如默认信心,发一个邮件提醒,加一个搜索,等等。</span></span>
6.重命名目录
<span <span 如果你想在网站上重命名目录,试试这个: RewriteRule </span>^/?old_directory/([a-z/.]+)$ new_directory/$1 [R=301,<span L] 在规则里我添加了一个“</span>.”(注意不是代表得所有字符,前面有转义符)来匹配文件的后缀名。 </span>
7.将.html后缀名转换成.php
<span 前提是.<span html文件能继续访问的情况下,更新你的网站链接。 RewriteRule </span>^/?([a-z/]+)\.html$ $1.<span php [L] 这不是一个网页重定向,所以访问者是不可见的。让他作为一个永久重定向(可见的),将FLAG修改[R</span>=301,L]。 </span>
8.创建无文件后缀名链接
<span 如果你想使你的PHP网站的链接更加简洁易记-或者隐藏文件的后缀名,试试这个:<span RewriteRule </span>^/?([a-z]+)$ $1.<span php [L] 如果网站混有PHP以及HTML文件,你可以用RewriteCond先判断该后缀的文件是否存在,然后进行替换: RewriteCond </span>%{REQUEST_FILENAME}.php -<span f RewriteRule </span>^/?([a-zA-Z0-9]+)$ $1.<span php [L] RewriteCond </span>%{REQUEST_FILENAME}.html -<span f RewriteRule </span>^/?([a-zA-Z0-9]+)$ $1.<span html [L] 如果文件是以</span>.php为后缀,这条规则将被执行。</span>
9.检查查询变量里的特定参数
<span <span 如果在URL里面有一个特殊的参数,你可用RewriteCond鉴别其是否存在: RewriteCond </span>%{QUERY_STRING} !uniquekey=<span RewriteRule </span>^/?script_that_requires_uniquekey\.php$ other_script.php [QSA,<span L] 以上规则将检查{QUERY_STRING}里面的uniquekey参数是否存在,如果{REQUEST_URI}值为script_that_requires_uniquekey,将会定向到新的URL。 </span></span>
10.删除查询变量
<span <span Apache的mod_rewrite模块会自动辨识查询变量,除非你做了以下改动: a)</span>.分配一个新的查询参数(你可以用[QSA,<span L]FLAG保存最初的查询变量) b)</span>.在文件名后面加一个“?”(比如index.php?)。符号“?”不会在浏览器的地址栏里显示。</span>
11.用新的格式展示当前URI
<span 如果这就是我们当前正在运行的URLs:/index.php?id=nnnn。我们非常希望将其更改成/nnnn并且让搜索引擎以新格式展现。首先,我们为了让搜索引擎更新成新的,得将旧的URLs重定向到新的格式,但是,我们还得保证以前的index.<span php照样能够运行。是不是被我搞迷糊了? 实现以上功能,诀窍就在于在查询变量中加了一个访问者看不到的标记符“marker”。我们只将查询变量中没有出现“marker”标记的链接进行重定向,然后将原有的链接替换成新的格式,并且通过[QSA]FLAG在已有的参数加一个“marker”标记。以下为实现的方式: RewriteCond </span>%{QUERY_STRING} !<span marker RewriteCond </span>%{QUERY_STRING} id=([-a-zA-Z0-9_+]+<span ) RewriteRule </span>^/?index\.php$ %1? [R=301,<span L] RewriteRule </span>^/?([-a-zA-Z0-9_+]+)$ index.php?marker &id=$1<span [L] 这里,原先的URL:http</span>:<span //</span><span www.example.com/index.php?id=nnnn,不包含marker,所以被第一个规则永久重定向到http://www.example.com/nnnn,第二个规则将http://www.example.com/nnnn反定向到http://www.example.com/index.php?marker&id=nnnn,并且加了marker以及id=nnnn两个变量,最后mod_rewrite就开始进行处理过程。</span> 第二次匹配,marker被匹配,所以忽略第一条规则,这里有一个“.”字符会出现在http:<span //</span><span www.example.com/index.php?marker &id=nnnn中,所以第二条规则也会被忽略,这样我们就完成了。</span> 注意,这个解决方案要求Apache的一些扩展功能,所以如果你的网站放于在共享主机中会遇到很多障碍。</span>
12.保证安全服务启用
<span <span Apache可以用两种方法辨别你是否开启了安全服务,分别引用{HTTPS}和{SERVER_PORT}变量: RewriteCond </span>%{REQUEST_URI} ^secure_page\.<span php$ RewriteCond </span>%{HTTPS} !<span on RewriteRule </span>^/?(secure_page\.php)$ https:<span //</span><span www.example.com/$1 [R=301,L] </span> 以上规则测试{REQUEST_URI}值是否等于我们的安全页代码,并且{HTTPS}不等于on。如果这两个条件同时满足,请求将被重定向到安全服务URI.<span 另外你可用{SERVER_PORT}做同样的测试,443是常用的安全服务端口 RewriteCond </span>%{REQUEST_URI} ^secure_page\.<span php$ RewriteCond </span>%{SERVER_PORT} !^443<span $ RewriteRule </span>^/?(secure_page\.php)$ https:<span //</span><span www.example.com/$1 [R=301,L]</span></span>
13.在特定的页面上强制执行安全服务
<span <span 遇到同一个服务器根目录下分别有一个安全服务域名和一个非安全服务域名,所以你就需要用RewriteCond 判断安全服务端口是否占用,并且只将以下列表的页面要求为安全服务: RewriteCond </span>%{SERVER_PORT} !^443<span $ RewriteRule </span>^/?(page1|page2|page3|page4|page5)$ https:<span //</span><span www.example.com/%1[R=301,L] </span> <span 以下是怎样将没有设置成安全服务的页面返回到80端口: RewriteCond </span>%{ SERVER_PORT } ^443<span $ RewriteRule </span>!^/?(page6|page7|page8|page9)<span $http</span>:<span //</span><span www.example.com%{REQUEST_URI} [R=301,L]<br /><br /> <br /></span></span>
Apache 相关 mod_rewrite ,RewriteCond,{HTTP_HOST}_PHP教程
1.给子域名加www标记
<span RewriteCond %{HTTP_HOST} ^([a-z.]+)?example\.<span com$ [NC] RewriteCond </span>%{HTTP_HOST} !^www\.<span [NC] RewriteRule </span>.? http:<span //</span><span www.%1example.com%{REQUEST_URI} [R=301,L] </span> 这个规则抓取二级域名的%1变量,如果不是以www开始,那么就加www,以前的域名以及{REQUEST_URI}会跟在其后。</span>
2.去掉域名中的www标记
<span RewriteCond %{HTTP_HOST} !^example\.<span com$ [NC] RewriteRule </span>.? http:<span //</span><span example.com%{REQUEST_URI} [R=301,L] </span></span>
立即学习“PHP免费学习笔记(深入)”;
3.去掉www标记,但是保存子域名
<span RewriteCond %{HTTP_HOST} ^www\.(([a-z0-9_]+\.)?example\.<span com)$ [NC] RewriteRule </span>.? http:<span //</span><span %1%{REQUEST_URI} [R=301,L] </span> 这里,当匹配到1%变量以后,子域名才会在%2(内部原子)中抓取到,而我们需要的正是这个%1变量。 </span>
立即学习“PHP免费学习笔记(深入)”;
4.防止图片盗链
<span <span 一些站长不择手段的将你的图片盗链在他们网站上,耗费你的带宽。你可以加一下代码阻止这种行为。 RewriteCond </span>%{HTTP_REFERER} !^<span $ RewriteCond </span>%{HTTP_REFERER} !^http:<span //</span><span (www\.)?example\.com/ [NC] </span> RewriteRule \.(gif|jpg|png)$ -<span [F] 如果{HTTP_REFERER}值不为空,或者不是来自你自己的域名,这个规则用[F]FLAG阻止以gif</span>|jpg|<span png 结尾的URL 如果对这种盗链你是坚决鄙视的,你还可以改变图片,让访问盗链网站的用户知道该网站正在盗用你的图片。 RewriteCond </span>%{HTTP_REFERER} !^<span $ RewriteCond </span>%{HTTP_REFERER} !^http:<span //</span><span (www\.)?example\.com/.*$ [NC] </span> RewriteRule \.(gif|jpg|png)$ 你的图片地址 [R=301,<span L] 除了阻止图片盗链链接,以上规则将其盗链的图片全部替换成了你设置的图片。 你还可以阻止特定域名盗链你的图片: RewriteCond </span>%{HTTP_REFERER} !^http:<span //</span><span (www\.)?leech_site\.com/ [NC] </span> RewriteRule \.(gif|jpg|png)$ - [F,<span L] 这个规则将阻止域名黑名单上所有的图片链接请求。 当然以上这些规则都是以{HTTP_REFERER}获取域名为基础的,如果你想改用成IP地址,用{REMOTE_ADDR}就可以了。</span></span>
立即学习“PHP免费学习笔记(深入)”;
5.如果文件不存在重定向到404页面
<span <span 如果你的主机没有提供404页面重定向服务,那么我们自己创建。 RewriteCond </span>%{REQUEST_FILENAME} !-<span f RewriteCond </span>%{REQUEST_FILENAME} !-<span d RewriteRule </span>.? /404.<span php [L] 这里</span>-f匹配的是存在的文件名,-d匹配的存在的路径名。这段代码在进行404重定向之前,会判断你的文件名以及路径名是否存在。你还可以在404页面上加一个?url=<span $1参数: RewriteRule </span>^/?(.*)$ /404.php?url=$1<span [L] 这样,你的404页面就可以做一些其他的事情,例如默认信心,发一个邮件提醒,加一个搜索,等等。</span></span>
立即学习“PHP免费学习笔记(深入)”;
6.重命名目录
<span <span 如果你想在网站上重命名目录,试试这个: RewriteRule </span>^/?old_directory/([a-z/.]+)$ new_directory/$1 [R=301,<span L] 在规则里我添加了一个“</span>.”(注意不是代表得所有字符,前面有转义符)来匹配文件的后缀名。 </span>
7.将.html后缀名转换成.php
<span 前提是.<span html文件能继续访问的情况下,更新你的网站链接。 RewriteRule </span>^/?([a-z/]+)\.html$ $1.<span php [L] 这不是一个网页重定向,所以访问者是不可见的。让他作为一个永久重定向(可见的),将FLAG修改[R</span>=301,L]。 </span>
8.创建无文件后缀名链接
<span 如果你想使你的PHP网站的链接更加简洁易记-或者隐藏文件的后缀名,试试这个:<span RewriteRule </span>^/?([a-z]+)$ $1.<span php [L] 如果网站混有PHP以及HTML文件,你可以用RewriteCond先判断该后缀的文件是否存在,然后进行替换: RewriteCond </span>%{REQUEST_FILENAME}.php -<span f RewriteRule </span>^/?([a-zA-Z0-9]+)$ $1.<span php [L] RewriteCond </span>%{REQUEST_FILENAME}.html -<span f RewriteRule </span>^/?([a-zA-Z0-9]+)$ $1.<span html [L] 如果文件是以</span>.php为后缀,这条规则将被执行。</span>
立即学习“PHP免费学习笔记(深入)”;
9.检查查询变量里的特定参数
<span <span 如果在URL里面有一个特殊的参数,你可用RewriteCond鉴别其是否存在: RewriteCond </span>%{QUERY_STRING} !uniquekey=<span RewriteRule </span>^/?script_that_requires_uniquekey\.php$ other_script.php [QSA,<span L] 以上规则将检查{QUERY_STRING}里面的uniquekey参数是否存在,如果{REQUEST_URI}值为script_that_requires_uniquekey,将会定向到新的URL。 </span></span>
10.删除查询变量
<span <span Apache的mod_rewrite模块会自动辨识查询变量,除非你做了以下改动: a)</span>.分配一个新的查询参数(你可以用[QSA,<span L]FLAG保存最初的查询变量) b)</span>.在文件名后面加一个“?”(比如index.php?)。符号“?”不会在浏览器的地址栏里显示。</span>
立即学习“PHP免费学习笔记(深入)”;
11.用新的格式展示当前URI
<span 如果这就是我们当前正在运行的URLs:/index.php?id=nnnn。我们非常希望将其更改成/nnnn并且让搜索引擎以新格式展现。首先,我们为了让搜索引擎更新成新的,得将旧的URLs重定向到新的格式,但是,我们还得保证以前的index.<span php照样能够运行。是不是被我搞迷糊了? 实现以上功能,诀窍就在于在查询变量中加了一个访问者看不到的标记符“marker”。我们只将查询变量中没有出现“marker”标记的链接进行重定向,然后将原有的链接替换成新的格式,并且通过[QSA]FLAG在已有的参数加一个“marker”标记。以下为实现的方式: RewriteCond </span>%{QUERY_STRING} !<span marker RewriteCond </span>%{QUERY_STRING} id=([-a-zA-Z0-9_+]+<span ) RewriteRule </span>^/?index\.php$ %1? [R=301,<span L] RewriteRule </span>^/?([-a-zA-Z0-9_+]+)$ index.php?marker &id=$1<span [L] 这里,原先的URL:http</span>:<span //</span><span www.example.com/index.php?id=nnnn,不包含marker,所以被第一个规则永久重定向到http://www.example.com/nnnn,第二个规则将http://www.example.com/nnnn反定向到http://www.example.com/index.php?marker&id=nnnn,并且加了marker以及id=nnnn两个变量,最后mod_rewrite就开始进行处理过程。</span> 第二次匹配,marker被匹配,所以忽略第一条规则,这里有一个“.”字符会出现在http:<span //</span><span www.example.com/index.php?marker &id=nnnn中,所以第二条规则也会被忽略,这样我们就完成了。</span> 注意,这个解决方案要求Apache的一些扩展功能,所以如果你的网站放于在共享主机中会遇到很多障碍。</span>
12.保证安全服务启用
<span <span Apache可以用两种方法辨别你是否开启了安全服务,分别引用{HTTPS}和{SERVER_PORT}变量: RewriteCond </span>%{REQUEST_URI} ^secure_page\.<span php$ RewriteCond </span>%{HTTPS} !<span on RewriteRule </span>^/?(secure_page\.php)$ https:<span //</span><span www.example.com/$1 [R=301,L] </span> 以上规则测试{REQUEST_URI}值是否等于我们的安全页代码,并且{HTTPS}不等于on。如果这两个条件同时满足,请求将被重定向到安全服务URI.<span 另外你可用{SERVER_PORT}做同样的测试,443是常用的安全服务端口 RewriteCond </span>%{REQUEST_URI} ^secure_page\.<span php$ RewriteCond </span>%{SERVER_PORT} !^443<span $ RewriteRule </span>^/?(secure_page\.php)$ https:<span //</span><span www.example.com/$1 [R=301,L]</span></span>
立即学习“PHP免费学习笔记(深入)”;
立即学习“PHP免费学习笔记(深入)”;
13.在特定的页面上强制执行安全服务
<span <span 遇到同一个服务器根目录下分别有一个安全服务域名和一个非安全服务域名,所以你就需要用RewriteCond 判断安全服务端口是否占用,并且只将以下列表的页面要求为安全服务: RewriteCond </span>%{SERVER_PORT} !^443<span $ RewriteRule </span>^/?(page1|page2|page3|page4|page5)$ https:<span //</span><span www.example.com/%1[R=301,L] </span> <span 以下是怎样将没有设置成安全服务的页面返回到80端口: RewriteCond </span>%{ SERVER_PORT } ^443<span $ RewriteRule </span>!^/?(page6|page7|page8|page9)<span $http</span>:<span //</span><span www.example.com%{REQUEST_URI} [R=301,L]<br /><br /> <br /></span></span>
关于多个RewriteConditions:如何在一组规则之前链接它们?的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Apache RewriteCond RewriteRule、Apache – 在2.2 / 2.4中逻辑链接RewriteCond的限制、Apache 相关 mod_rewrite ,RewriteCond,{HTTP_HOST}、Apache 相关 mod_rewrite ,RewriteCond,{HTTP_HOST}_PHP教程的相关知识,请在本站寻找。
本文标签: