2012-11-17 51 views
1

我試圖讓我的htaccess文件不重寫我的靜態文件(js/css/images)。不重寫靜態css/js/img文件

這是我目前htaccess文件:

RewriteEngine on 
RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteRule !\.(jpg|css|js|gif|png)$ public/ [L] 
RewriteRule !\.(jpg|css|js|gif|png)$ public/index.php?url=$1 

如何改寫呢?

+0

爲什麼你的.htaccess會重寫你的靜態文件,如果你不想重寫它?只要清除你的.htaccess,它就不會被重寫。你也在你的問題中說過_不要重寫_和_如何重寫它_。你能解釋一下你想做什麼嗎? – Sameh

回答

7
RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !^.*\.(jpg|css|js|gif|png)$ [NC] 
RewriteRule ^(.*)$ public/index.php?url=$1 

所有請求不存在不與上市的擴展(案例不敏感的匹配)被改寫爲public/index.php傳遞當前URL爲url= GET參數

6

這隻適用於下面的一行結尾的文件它。所以,如果你有許多RewriteRules,它可以幫助使用這樣的東西:

RewriteEngine on 

    RewriteRule ^(.*?)\.(php|css|js|jpg|jpeg|png|pdf)$ - [L] 
    RewriteRule ^(.+)/(.+)/?$ index.php?page=$1&subpage=$2 [L] 
    RewriteRule ^(.+)$ index.php?page=$1 [L] 
+0

謝謝,爲我工作。此外,最好在此列表中添加「eot,ttf,woff,woff2和svg」 –