2010-12-20 84 views
0

如何改寫爲圖像和其它靜態文件到指定的文件夾,即網址我使用這個至今:htaccess的 - 重寫規則對靜態文件

RewriteRule \.(woff|ttf|svg|js|ico|gif|jpg|png|css|htc|xml|txt)$ /MyFolder/$1 

,但它不工作,

請幫助。

-------------------更新---------------------

ok所以現在我有:

RewriteCond %{HTTP_HOST} ^(www.)?exmpale.com$ 
RewriteCond %{REQUEST_URI} !^/exmpale.com/ 
RewriteRule ^(.*\.(woff|ttf|svg|js|ico|gif|jpg|png|css|htc|xml|txt))$ /exmpale.com/$1 

RewriteCond %{HTTP_HOST} ^(www.)?exmpale.com$ 
RewriteRule !\.(woff|ttf|svg|js|ico|gif|jpg|png|css|htc|xml|txt)$ /exmpale.com/index.php 

所以重定向到exmpale文件夾圖片的工作,但現在我想重寫其他一切的index.php,上述解決方案至今沒有工作。

歡呼聲, /馬辛

回答

4

也許這是你想要什麼:

RewriteRule ^(.*\.(woff|ttf|svg|js|ico|gif|jpg|png|css|htc|xml|txt))$ /MyFolder/$1 

或許這樣的:

RewriteRule ([^/]*\.(woff|ttf|svg|js|ico|gif|jpg|png|css|htc|xml|txt))$ /MyFolder/$1 

如果沒有那些是你在找什麼,請用你想要的輸入/輸出的一些例子添加細節。

對於您的更新,您可能希望使用L標誌在此規則匹配時停止規則處理。例如:

RewriteCond %{HTTP_HOST} ^(www.)?exmpale.com$ 
RewriteCond %{REQUEST_URI} !^/exmpale.com/ 

# The next line is long. Scroll to the end! 
RewriteRule ^(.*\.(woff|ttf|svg|js|ico|gif|jpg|png|css|htc|xml|txt))$ /exmpale.com/$1 [L] 

RewriteCond %{HTTP_HOST} ^(www.)?exmpale.com$ 
RewriteRule .* /exmpale.com/index.php 
+0

差不多在那裏,請看看我的問題更新 – Marcin 2010-12-20 19:46:21

+0

+1簡明,單一的捕獲。 – 2010-12-20 19:47:08

+0

你能看看我的更新和建議請 – Marcin 2010-12-20 19:51:20

0

您沒有捕獲到初始請求。請嘗試以下操作:

RewriteRule (.*)\.(woff|ttf|svg|js|ico|gif|jpg|png|css|htc|xml|txt)$ /MyFolder/$1.$2 

這將讓任何規定和/MyFolder/例如下重定向擴展名結尾:/something/image.jpg現在會去/MyFolder/something/image.jpg

注:可能有更好的方法來做到這一點通過添加條件來檢查文件類型。