2014-09-05 167 views
1

我有以下情形:點子域根不使用子目錄

  • blog.site.com
  • site.comserver2

我想blog.site.com變成site.com/blog。所以我想我會指向blog.site.comserver2並放在一個子文件夾blog,我可以放置一個.htaccess文件做301重定向。但是,通過創建博客子目錄,它將覆蓋空白目錄的/blog/title-goes-here

我的問題是正在退役,所以它不能用於301重定向。

有沒有一種方法,我可以指向blog.site.comserver2成爲site.com/blog/title-goes-here而不使用blog子目錄?或者使用blog子目錄但不干擾網址?

請注意。這是來自serve1的帖子已被導入的wordpress網站。將博客保留爲site.com網站的一部分非常重要。

+1

'它覆蓋了/ blog/title-goes-here這裏有一個空白的目錄。「什麼?我不明白這一點。如果你把這個網站放在這個目錄下,並且你已經確保了這一點:1)你修改了數據庫中的'home'和'site_url'值,2)你有一個默認的wordpress index.php頁面, 3.)你已經重置你的固定鏈接和4.).htaccess的標準代碼已被修改爲包含'/ blog/index.php',而不僅僅是'index.php',那麼這應該不是問題。 – Ohgodwhy 2014-09-05 15:24:55

+0

'我的問題是服務器1正在退役,所以它不能用於301重定向。「好的。您可以將'blog.site.com'指向'server2'並創建一個專用的'VirtualHost'來響應'blog.site.com'來處理301重定向。 – Hpatoio 2014-09-05 15:33:07

回答

0

除非我錯過了一些東西,你不需要重定向 - 你需要重寫規則。

讓您的blog.site.com和site.com的DNS條目指向server2。然後在.htaccess Server2上添加相應的規則:

RewriteCond %{HTTP_HOST} ^blog\.site\.com$ 
RewriteRule (.*) /blog/$1 [L] 

現在你是否訪問site.comblog.site.com,你最終會訪問同一臺服務器。重寫規則將確保blog.site.com/something類型的請求實際上調用site.com/blog/something

請注意,我還沒有測試過這個。

+0

實際的.htaccess文件可以放在路由中嗎?不在子目錄中?我假設blog.site.com將被定向到博客子目錄? – iamjonesy 2014-09-05 16:02:11

+0

您需要將'.htaccess'放在根目錄下。 – 2014-09-05 16:03:06

+0

對不起,在響應延遲。這實際上並沒有工作。重定向工作,但因爲子域被映射到子目錄,它被一個空白目錄覆蓋。我最終複製了博客子目錄中的根文件。我可能會看看我是否可以使用符號鏈接。 – iamjonesy 2014-09-18 13:02:16

相關問題