我試圖使一個文件夾(和所有網頁到)只能通過Firefox訪問的Apache服務器。國防部重寫 - 阿帕奇 - 正則表達式
我已經在虛擬主機寫:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^(?!Mozilla.$).*$
RewriteRule ^firefox/.+$ index.html [L]
但它不工作。 我想我在正則表達式中犯了一個錯誤,但我不知道哪一個。
我試圖使一個文件夾(和所有網頁到)只能通過Firefox訪問的Apache服務器。國防部重寫 - 阿帕奇 - 正則表達式
我已經在虛擬主機寫:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^(?!Mozilla.$).*$
RewriteRule ^firefox/.+$ index.html [L]
但它不工作。 我想我在正則表達式中犯了一個錯誤,但我不知道哪一個。
首先,我希望你認識到客戶端可以設置他們想要的任何用戶代理字符串。您可以測試Firefox的默認用戶代理字符串,但無法確保客戶端沒有更改它們。例如,Chrome有一個User Agent Switcher擴展名,允許它僞裝成任何其他瀏覽器,其他瀏覽器和命令行客戶端也有類似的功能。
如果你仍然想這樣做,那麼看看comprehensive list of user agent strings來幫助你選擇一個匹配許多Firefox版本的正則表達式。特別是,看看Internet Explorer並注意其所有的用戶代理字符串都包含字符串Mozilla。對於Firefox,它看起來好像
RewriteCond %{HTTP_USER_AGENT} Firefox
應該做的伎倆。
我做錯了。 所以知道我已經嘗試做相同的:
RewriteCond %{HTTP_USER_AGENT} (^Firefox.+)$
RewriteRule ^firefox/.+$ index.html [L]
我suposed到redirct索引每一個用戶代理,除了Firefox瀏覽器。 我想我在「不等於Firefox」中犯了一些錯誤。