2013-04-23 27 views
1

我目前有一個博客設置作爲主站點的子文件夾,mydomain.com.au/blog/,但/blog是通過PHP動態生成的,並沒有物理存在。將子域重定向到動態生成的文件夾並屏蔽theurl

我創建了一個子域blog.mydomain.com.au,我試圖讓它顯示一切就像mydomain.com.au/blog/但掩蓋了網址,使其顯示blog.mydomain.com.au

我使用htaccess進行了幾次嘗試,並且關閉了幾次,但總是出現錯誤。下面是2次嘗試這讓我最接近預期的結果:

1日嘗試

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^blog\.mydomain\.com\.au$ 
RewriteRule ^.*$ http://www.mydomain.com.au/blog%{REQUEST_URI} [R=301,L] 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

這將讓blog.mydomain.com.au重定向到www.mydomain.com.au/blog/,但並不能掩蓋的URL(地址欄會顯示www.mydomain.com.au/blog/)。

第2次嘗試

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com\.au$ [NC] 
RewriteRule blog/(.*) http://blog.mydomain.com.au/$1 [R=301,L] 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

這讓我最接近的一次。它重定向和掩蓋的URL只是我想要的方式爲/blog/下的所有頁面(例如blog.mydomain.com.au/whatever/重定向到www.mydomain.com.au/blog/whatever/但面具網址爲blog.mydomain.com.au/whatever/),但它不會爲blog.mydomain.com.au這樣做,該網址會重定向到www.mydomain.com.au

回答

0

這裏有兩個不同的要求。第一個是一個重寫,這將工作,如果該請求是blog.mydomain.com.au和刪除域部分和R標誌的規則替換

RewriteCond %{HTTP_HOST} ^blog\.mydomain\.com\.au$ [NC] 
RewriteRule !^blog/ /blog%{REQUEST_URI} [L] 

第二個是實際重定向,如果請求是www.mydomain.com.au/blog/

RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com\.au$ [NC] 
RewriteRule blog/(.*) http://blog.mydomain.com.au/$1 [R,L] 

如果一切正常,你期望的那樣,你可以改變RR=301

決不測試與301啓用,看到這個答案 Tips for debugging .htaccess rewrite rules 瞭解詳情。

+0

感謝您的回覆和非常有用的鏈接!我已經嘗試過你的規則,但同樣的事情發生。 blog.mydomain.com.au重定向到www.mydomain.com.au。此外,奇怪的是,它可以工作幾次,然後它不會......在添加我測試的規則後,通過單擊博客上的幾個鏈接清除了瀏覽器緩存。他們要去blog.mydomain.com.au/whatever,但是點擊幾下(可能是6)後,它回到www.mydomain.com.au/whatever ...我轉回到我的舊規則,但改變了301到302重定向。 – 2013-04-24 03:51:11

+0

@RazvanCostica我想,博客中的鏈接有時是相對鏈接,有時候你有絕對的鏈接,包括域名。 – 2013-04-25 00:47:26

+0

這種情況是這樣的:我有一個集成博客的網站,現在我正試圖將博客從www.mydomain.com.au/blog移動到blog.mydomain.com。au,根據我的客戶請求,實際上不必從博客中導出所有內容並在博客文件夾下重新創建它,因爲這非常耗時。因此,博客中的所有鏈接都有URL結構www.mydomain.com.au/blog/whatever/,並試圖將它們重定向到blog.mydomain.com.au/whtever。 – 2013-04-25 05:30:01

相關問題