2016-01-14 66 views
1

我在服務於所有域的目錄/ html /中的一個服務器上有多個不同內容的域,如example1.com,example2.com,example3.com,example4.com。htaccess無形重寫文件夾

這工作正常。

我現在需要有2個不同的(!)wordpress安裝。從外面看,我想有:

example1.com -> No Blog 
example2.com/blog/ 
example3.com -> No Blog 
example4.com/blog/ 

在服務器上的內部通道結構應該是這樣的:

/html/ 
/blog-for-server2/ 
/blog-for-server4/ 

因爲否則的內容管理系統中的/ HTML /得到弄糟。事實上,這幾乎就像擁有獨立的博客子域並指向服務器上的不同路徑(但我不想使用子域)。

任何想法?

+0

無論是建立在你的虛擬主機指令的'RewriteRule's Apache的httpd的-vhosts.conf文件或做一個根.htaccess文件重定向的凌亂負載與'讀和寫iteCond'就像'RewriteCond%{SERVER_NAME} = example1.com' – CD001

回答

0

假設您已經創建的域在Apache的的httpd-vhosts.conf文件,您可以創建重定向內部的,是這樣的:

<VirtualHost *:80> 
    ServerName example1.com 
    DocumentRoot /home/servers/common_root/html 

    RewriteEngine On 
    RewriteRule ^/blog/? /blog-for-server-1 
</VirtualHost> 


<VirtualHost *:80> 
    ServerName example2.com 
    DocumentRoot /home/servers/common_root/html 

    RewriteEngine On 
    RewriteRule ^/blog/? /blog-for-server-2 
</VirtualHost> 

否則,你可以做一個根。 htaccess的但它是凌亂:

RewriteEngine On 

RewriteCond %{SERVER_NAME} =example1.com 
RewriteRule ^blog /blog-for-server-1 

RewriteCond %{SERVER_NAME} =example2.com 
RewriteRule ^blog /blog-for-server-2 
+0

感謝您的回覆。我無法訪問httpd-vhosts.conf文件,因此我嘗試將它添加到htaccess中。問題似乎是/ blog-for-server-2總是相對於Doc-Root/html /,所以如果此路徑與Doc-Root在同一級別上,則它不起作用。 – Werner

+0

如果它與docroot的級別相同(或更高),則無法通過.htaccess來實現(因爲無法訪問文件系統)......並且因爲您無法訪問httpd-vhosts.conf我很確定唯一的選擇是移動docroot下的'/ blog-for-server ...'目錄並使用.htaccess處理重定向。 – CD001