以下问题,我想将所有请求从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
答案 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