2015-02-05 61 views
-1

這些是我的當前指令,用於將子域HTTP請求重定向到具有路徑的域。用於複雜子域重定向的mod_rewrite

RewriteCond %{HTTP_HOST} ^blog.website.com 
RewriteRule ^(.*)$ http://website.com/blog [L] 

但是,本網站是已發佈社交媒體鏈接的網站的新版本。由於URL現在指向不同的服務器,因此這些鏈接的圖像URL現在已被破壞。圖像已經被遷移,並且所述圖像的路徑已經保存在新的服務器上。鑑於此,我需要重寫我的指令以解釋這些遺留鏈接。

我需要編寫一個重寫URL 條件只有當URL沒有路徑或URL的第一個參數是/wp-content/

我不得不做出這樣的這3個URL模式區分條件和規則:

http://blog.website.com 
    -> http://website.com/blog 
http://blog.website.com/wp-content/year/month/image.jpg 
    -> http://website.com/wp-content/year/month/image.jpg 
http://blog.website.com/entry-url-title 
    -> http://website.com/blog/entry-url-title 

回答

0

這是我最終是如何能夠做到這一點,與我的朋友們一點幫助,當然。

RewriteCond %{HTTP_HOST} blog.website.com 
RewriteCond %{REQUEST_URI} ^/?$ 
RewriteRule ^(.*) http://website.com/blog [R=301,L] 

RewriteCond %{HTTP_HOST} ^blog.website.com 
RewriteCond %{REQUEST_URI} !wp-content 
    RewriteRule ^(.*) http://website.com/blog/%{REQUEST_URI} [R=301,NC,L] 

RewriteCond %{HTTP_HOST} ^blog.website.com 
RewriteCond %{REQUEST_URI} wp-content 
    RewriteRule ^(.*) http://website.com/%{REQUEST_URI} [R=301,NC] 
相關問題