2014-01-22 97 views
0

我試圖使一個文件夾(和所有網頁到)只能通過Firefox訪問的Apache服務器。國防部重寫 - 阿帕奇 - 正則表達式

我已經在虛擬主機寫:

  RewriteEngine on 
      RewriteCond %{HTTP_USER_AGENT} ^(?!Mozilla.$).*$ 
      RewriteRule ^firefox/.+$    index.html [L] 

但它不工作。 我想我在正則表達式中犯了一個錯誤,但我不知道哪一個。

回答

0

首先,我希望你認識到客戶端可以設置他們想要的任何用戶代理字符串。您可以測試Firefox的默認用戶代理字符串,但無法確保客戶端沒有更改它們。例如,Chrome有一個User Agent Switcher擴展名,允許它僞裝成任何其他瀏覽器,其他瀏覽器和命令行客戶端也有類似的功能。

如果你仍然想這樣做,那麼看看comprehensive list of user agent strings來幫助你選擇一個匹配許多Firefox版本的正則表達式。特別是,看看Internet Explorer並注意其所有的用戶代理字符串都包含字符串Mozilla。對於Firefox,它看起來好像

RewriteCond %{HTTP_USER_AGENT} Firefox 

應該做的伎倆。

0

我做錯了。 所以知道我已經嘗試做相同的:

RewriteCond %{HTTP_USER_AGENT} (^Firefox.+)$ 
RewriteRule ^firefox/.+$    index.html [L] 

我suposed到redirct索引每一個用戶代理,除了Firefox瀏覽器。 我想我在「不等於Firefox」中犯了一些錯誤。