2014-12-04 92 views
0

我有一個虛擬主機與許多ServerAlias域定義。在虛擬主機使用國防部重寫,我想下面的發生:VirtualHost mod_rewrite多個域相同DocumentRoot

sub.abc.com變化sub.abc.com/?client_id=ABC

sub.def.com變化sub.def的.com /?CLIENT_ID = DEF

sub2.abc.com更改sub2.abc.com/?client_id=GHI

[...等等...]

我的當前配置是:

<VirtualHost 1.2.3.4:8080> 
    ServerName sub.abc.com 
    ServerAlias sub.def.com sub2.abc.com 

    DocumentRoot /var/www/prod/ 

    [... some other things ...] 

    <IfModule mod_rewrite.c> 
    RewriteEngine On 

    RewriteCond %{HTTP_HOST} ^sub\.abc\.com 
    RewriteRule ^/([0-9]+)/?$ login.php?client_id=ABC [NC,L] 
    RewriteCond %{HTTP_HOST} ^sub\.def\.com 
    RewriteRule ^/([0-9]+)/?$ login.php?client_id=DEF [NC,L] 
    RewriteCond %{HTTP_HOST} ^sub2\.abc\.com 
    RewriteRule ^/([0-9]+)/?$ login.php?client_id=GHI [NC,L] 
    </IfModule> 

</VirtualHost> 

但是這實際上並沒有重寫..我很確定我的Cond或Rule被搞砸了(大聲笑..我想這很明顯)。有任何想法嗎?

回答

0

建議:

比方說,您的域名sub.abc.com指向X的IP地址。考慮相同的IP地址X

這種做法被稱爲Shared Web Hosting

這樣你就可以保持獨立的配置文件,你的三個不同的域下創建兩個額外的記錄sub.def.com和sub2.abc.com。

所以如果一個客戶端訪問sub2.abc.com - sub2.abc.com的配置文件將進入圖片和請求將相應地服務。

我希望這有助於!祝你好運!