![](/img/trans.png)
[英]Why is .htaccess ignoring “RewriteCond %{HTTPS} !on [NC]”?
[英]Why does ^ interfere with [NC] in .htaccess?
這是我用於測試目的的.htaccess
文件。 這是整個文件。
RewriteEngine On
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_URI} asdf [NC]
RewriteRule .* https://www.example.com/test/note.txt [R=302,L]
</IfModule>
[NC]
(無大小寫)就像冠軍。 asdf
, ASDF
, AsDf
所有觸發重寫規則。 但是,如果包括^
符號, [NC]
停止工作。 例如,
RewriteCond %{REQUEST_URI} ^asdf [NC]
在存在^
符號的情況下,只有asdf
會觸發重寫。 ASDF
拋出404。我可能丟失了一些內容,但似乎出於某種原因^
干擾了[NC]
。 為什么是這樣?
^
是正則表達式中的零寬度斷言,用於斷言字符串的開始。 此處不干擾NC
標志。 問題是REQUEST_URI
變量以斜杠/
開頭,因此您可以使用以下規則:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/asdf [NC]
RewriteRule ^ https://www.example.com/test/note.txt [R=302,L]
</IfModule>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.