2012-09-02 121 views
0

我有兩個測試網站http://foo/abc,http://foo/defApache重寫使用RewriteCond/RewriteRule

我想了解RewriteCond/RewriteRule進程使用虛擬主機模擬別名/目錄指令。

「abc」,「def」站點可以使用別名/指令塊進行服務。我試圖弄清楚apache是​​否可以使用vhost塊來做同樣的事情,並結合RewriteCond/RewriteRule邏輯。

基本上,試圖查看是否/如何使用虛擬主機服務特定站點使用RewriteCond/RewriteRule的組合來限制站點的顯示。

看起來像

RewriteCond %{REQUEST_URI} ^/abc/ 
RewriteRule ^(.*)$   /var/www/html/abc [B,L,QSA] 

會的工作,但瀏覽器的錯誤了這一點。

指針將受到歡迎。

+0

不知道我已經明確提出了我的問題。我會盡力解釋。基本上,我想使用虛擬主機(如果可能)看看網址[http:// foo/abc ..],如果網址有「/ abc」,那麼我想讓虛擬主機rewritecond/rules塊繼續前進和passthru /提供頁面。所以rewritecond會查找「/ abc」,如果有的話,rewriterules會設置正確的url /文件(類似於別名進程)。如果「abc」不在url中,那麼虛擬主機/重寫邏輯將不會對該網址執行任何操作。我有一些網址,我想知道如果虛擬主機/重寫可以用這種方式。 –

回答

0

很可能瀏覽器產生錯誤,因爲目錄/var(因此它的一切)不通過apache發佈。

0

我希望我能理解你的問題,試圖用ModRewrite模擬虛擬主機。

是的,這是可能的,當你第一次的RewriteCond檢查域:

RewriteCond %{HTTP_HOST} ^www\.domain1\.com$ [NC] 

但是請注意,這只是工作的HTTP/1.1像虛擬主機上的主機名基地和沒有IP地址。