2010-02-18 73 views
0

我想完成的是從與url路徑不相同的目錄中提取內容。例如:沒有重定向的Apache虛擬目錄

  • URL:example.com/
  • 路徑:/ WWW /生產/

目前,根URL拉動從上面的路徑的內容。我想要做的是這樣的:

  • 網址:example.com/
  • 路徑:/ WWW /生產/根/

所以基本URL 「example.com」 應不是從/ www/production /而是從/ www/production/root /中抽取數據。

我認爲這在IIS中稱爲虛擬目錄。在Apache中有這樣的東西嗎?

編輯澄清:

我有一噸的現有內容,我不希望有尚未重組。但是,根網站正在完全重建,並且將會變得更大。我想要的是每個微型網站都有自己的目錄,這樣example.com/的請求應該從/ www/production/root /中提取內容,而example.com/microsite/的請求仍然應該從/ www/production /微型/。

希望這樣做更有意義。 :)

回答

1

它並不很清楚你的問題是什麼。如果你只是希望所有的URL採取相對於服務器上的某個位置,然後你可以使用DocumentRoot指令:

DocumentRoot /www/production/root/

如果你只想有一定的網址去新的地方,那麼您可以使用mod_alias模塊中的AliasAliasMatch指令。這些可以映射URL上的前綴或URL Regexes到其他服務器位置。如果這還不夠,你可以使用mod_rewrite,它允許URL重寫的任意鏈,但可以變得非常毛茸茸的維護,所以你最好避免該模塊,如果可以的話。

http://httpd.apache.org/docs/2.0/mod/mod_alias.html

+0

對不起,如果我的帖子有點不清楚。也許我最近的編輯將有助於澄清情況......雖然聽起來像mod_alias可能是去這裏的方式......我將不得不偷看一些文檔。 – Cypher 2010-02-18 18:26:09

+0

謝謝,這正是我需要的。 – Cypher 2010-02-18 18:35:37

0

如果我正確理解你的問題,那麼下面,在你的虛擬主機的配置,確實你問什麼:

ServerName example.com 
DocumentRoot /www/production/root/ 
+0

那麼,這實際並不起作用,因爲有需要繼續通過URL匹配的目錄結構中引用其他微型網站。所以example.com/sales/jobs/從/ www/production/sales/jobs /下拉。我想要做的是保持服務器結構的其餘部分完整,而不必將60多個文件泄露到根站點的目錄結構的根目錄中。合理? – Cypher 2010-02-18 18:19:27