2015-05-01 73 views
0

我有一個網站somedomain.com,並建立了一個CDN的子域www.somedomain.com。 (我本來想讓它成爲cdn.somedomain.com,但沒有選項)。htaccess重定向非圖像資源

CDN實際上是一個啞鏡。我想用它來傳遞圖片資源,但不是網頁。

這些.htaccess規則正在做圖像請求重定向到CDN的正確工作。 (我真的不關心的文件擴展名限制。)

RewriteCond %{HTTP_HOST} ^somedomain\.com$ [NC] RewriteRule ^images\/?(.*)$ "http\:\/\/www\.somedomain\.com\/images\/$1" [R=301,L]

如何延長這個相同的.htaccess文件,以確保非資產要求,是www.somedomain.com/something/or/其他重定向到somedomain.com/something/or/other(沒有www)?

+0

非資產包括網頁和其他一切嗎? –

+0

是的,頁面,JavaScript和CSS。如果需要,我相信我可以將後面的資源添加到CDN。 –

+0

你有單獨的.htaccess文件用於www和no-www或相同的文件嗎? –

回答

2

你應該可以做到這一點。使用兩條規則。而且你不需要在RewriteRule中進行轉義。

RewriteCond %{HTTP_HOST} ^somedomain\.com$ [NC] 
RewriteRule ^images/([^/]+)$ http://www.somedomain.com/images/$1 [R=301,L] 

#if it's not the image folder redirect to main domain without www 
RewriteCond %{HTTP_HOST} ^www\.somedomain\.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/images [NC] 
RewriteRule ^(.*)$ http://somedomain.com/$1 [R=301,L]