如果重写规则匹配并且它具有Last [L]标志,它仍然执行下面的规则,我不明白。我将所有调用重定向到公用文件夹,但我为图像添加了一个例外,但异常被忽略。我认为如果规则匹配,使用[L]标志会停止寻找下面的规则。
这是我的.htaccess文件:
RewriteRule ^image/(.*)/?$ image.php?t=$1 [L]
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
如果我删除了底层2规则,它确实有用。
提前致谢
答案 0 :(得分:3)
不被忽视。 它是.htaccess的具体内容。 每次更改URL时都会重新运行。
试试这个。
RewriteEngine on
RewriteCond %{QUERY_STRING} rewritten
RewriteRule .* - [L]
RewriteRule ^image/(.*)/?$ image.php?t=$1&rewritten=1 [L,QSA]
RewriteRule ^$ public/?rewritten=1 [L,QSA]
RewriteRule (.*) public/$1?rewritten=1 [L,QSA]