2010-07-26 81 views
0

我一直在試圖讓一些RewriteRules正常工作,並且在僅用於一臺主機但不是多個時成功。mod_rewrite docroot依賴於子文件夾名稱的多個子文件夾

我想要「http://preview.domain.com」指向「http://preview.domain.com/dir1」或「http://preview.domain.com/dir2」等。Dir1和Dir2是因爲它們包含指向真實域的ProxyPass。這是我目前的:

RewriteCond %{REQUEST_URI} !/dir1 
RewriteRule ^(.*)$ /dir$1 [R] 

<Location /dir1> 
ProxyPass http://dir1.com 
</Location> 

我不能讓dir2規則工作在旁邊的工作。如果可能的話,我希望能夠做到這一點,因爲它們大約有70個文件夾,並且正在增長。 「http://preview.domain.com」本質上是一個域,指向我的開發服務器顯示dev內容而不是prod內容,而無需修改網站代碼。有誰可以提供幫助嗎?

回答

0

我不完全明白你想要做什麼。如果你想http://preview.domain.com/nameofsite/path映射到http://nameofsite.com/path(其中nameofsite是無論域名您使用的是佔位符),你可以使用

RewriteRule ^/([^/]+)(/.*)$ http://$1.com$2 [P] 

,然後你不會有任何需要的Location塊。

+0

不知道如何做一個答覆,但我只是想澄清問題。使用你的重寫給我的鏈接404。不知道我是否只需要一個適當的RewriteCond或什麼。我上面的第一次重寫對單個站點代理正常工作,但我想再添加幾個,我不確定重寫規則需要如何工作。起初,我添加了與第一個類似的第二個重寫塊,只是指向一個不同的站點,當我嘗試在「http://preview.domain.com/dir2」訪問它時,它將其重寫爲「http:// preview.domain.com/dir2/dir1「並失敗。 – 2010-07-28 04:49:55

相關問題