2010-06-02 45 views
1

我現在有這在我的.htaccess文件:我怎麼會寫一個重寫規則破例爲一個文件

Options +FollowSymLinks 
RewriteEngine On  
RewriteRule ^(.*)\.html$ index.php?pagename=$1&%{QUERY_STRING} 

的HTML文件的名稱改寫爲頁面名稱的查詢字符串。

但是我試圖允許訪問一個特定的靜態HTML文件,所以不知何故我需要覆蓋規則或發生異常。

感謝您的幫助。

回答

6
  1. 自己沒有要點追加QUERY_STRING;你會離開流浪&如果沒有任何,和mod_rewrite的已經有一個工具,以更好地做到這一點:

    RewriteRule ^(.*)\.html$ index.php?pagename=$1 [QSA]

  2. 您可以控制RewriteRuleRewriteCond它前面。例如:

    RewriteCond %{REQUEST_URI} !^/staticpage.html$
    RewriteRule ^(.*)\.html$ index.php?pagename=$1 [QSA]

  3. 另一種有用的圖案是其中RewriteCond %{REQUEST_FILENAME} !-f將繞過下列RewriteRule任何時間,該URL將具有匹配的文檔根現有常規文件。