簡體   English   中英

為什么^會干擾.htaccess中的[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] (無大小寫)就像冠軍。 asdfASDFAsDf所有觸發重寫規則。 但是,如果包括^符號, [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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM