重写规则的问题

时间:2010-08-08 05:48:05

标签: apache rewrite

以下问题,我想将所有请求从http路由到htts,在此路由之后所有请求都会导致404到route.php脚本。

但我不知道,如何告诉mod_rewrite第一次使用规则一,而不是规则二?

我的规则如下:

RewriteEngine   on
RewriteCond     %{SERVER_PORT}   !^443$
RewriteRule     (.*)             https://%{HTTP_HOST}/_playground/$1

RewriteCond     %{SCRIPT_FILENAME} !-f
RewriteCond     %{SCRIPT_FILENAME} !-d
RewriteCond     %{SERVER_PORT}   !^443$
RewriteRule     (.*)             https://localhost/_playground/route.php?to=$1


enter code here

1 个答案:

答案 0 :(得分:0)

mod_rewrite遵循规则的顺序:

  

重写引擎按规则循环规则集规则(RewriteRule指令),当特定规则匹配时,它可选择循环通过现有的相应条件(RewriteCond指令)

参考此处:http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

您可以使用标记来进一步调整规则:http://httpd.apache.org/docs/2.2/rewrite/rewrite_flags.html