2016-02-19 21 views
1

後,我所做的就是這樣的.htaccess規則:的.htaccess重寫重定向URL根到子目錄,文件沒有得到正確加載

RewriteCond %{HTTP_HOST} ^(www.)?example\.com [NC] 
RewriteCond %{REQUEST_URI} ^/$ 
RewriteRule ^(.*)$ /static/somefolder/$1 [L] 

在文件夾是一個靜態的HTML和一些CSS。 HTML現在試圖從根加載CSS,這顯然不是我想要的。

其實我想要所有的請求被重定向,除了一個文件夾。 所以,然後我用:

RewriteCond %{HTTP_HOST} ^(www.)?example\.com [NC] 
RewriteCond %{REQUEST_URI} !^/downloads/.* 
RewriteRule ^(.*)$ /static/somefolder/$1 [L] 

但是,這將引發「內部服務器錯誤」。

我在這裏錯過了什麼?

回答

1

你需要排除你重寫到目標:

RewriteCond %{HTTP_HOST} ^(www.)?example\.com [NC] 
RewriteCond %{REQUEST_URI} !^/downloads/.* 
RewriteCond %{REQUEST_URI} !^/static/ 

RewriteRule ^(.*)$ /static/somefolder/$1  [L] 

否則,你會得到一個無限循環錯誤,因爲/靜態/ somefolder/*還格局^匹配$

(*)。
相關問題