Dot-Htaccess
從 .htaccess 中的 Files 指令中排除圖像格式
如果這個問題太簡單或在錯誤的地方,我很抱歉,但我想要
noindex
除了伺服器上的圖像文件之外的所有內容。我將 WordPress 用作無頭 CMS,但一些圖像直接來自我的伺服器,我仍然希望它們被索引,而其他一切,我不需要索引。我已經嘗試過以下方法,但我的語法錯誤或在語義上我違反了一些規則:
#<Files ~ "\.(?!png|jpe?g|gif)$"> # Header set X-Robots-Tag "noindex" #</Files> #<FilesMatch ".+\.(gif|jpe?g|png)$"> Header set X-Robots-Tag "noindex" #</FilesMatch>
正如目前設置的那樣,所有內容都設置為 noindex。如何排除圖像格式?
您的正則表達式匹配以
.gif
,.jpg
,.jpeg
&結尾的文件.png
,但您需要一個匹配除它們之外的所有內容的正則表達式。這可以通過負前瞻正則表達式來實現。來自 Jan Goyvaerts 的正則表達式.info:如果你想匹配一些沒有被其他東西跟隨的東西,負前瞻是必不可少的。在解釋字元類時,本教程解釋了為什麼不能使用否定字元類來匹配 a
q
後不跟 au
。負前瞻提供了解決方案:q(?!u)
. 負前瞻結構是一對括號,左括號後跟一個問號和一個驚嘆號。在前瞻中,我們有簡單的正則表達式u
。因此,在這裡,您將 替換為
u
your.*\.(gif|jpe?g|png)$
,結果如下:<FilesMatch "^(?!.*\.(gif|jpe?g|png)$).*$"> Header set X-Robots-Tag "noindex" </FilesMatch>