2013-04-14 62 views
0

首先我有一個已經工作的...阿帕奇國防部重寫 - 以www更換www.example.com/example.com

在我的服務器我用停放的域名,每個域名指向同一個目錄並且該軟件僅僅在從類似的命名數據庫拉出之前確定域是什麼。對於文件(圖片,腳本等),我現在有以下安裝...

的public_html/www.example1.com/

的public_html/www.example2.com/

的public_html/www.example2.com/

...使用以下重寫......

RewriteCond %{REQUEST_URI} !\.(gif|jpg|js|mp3|png)$ 
RewriteRule ^[^/]*/(images|search|scripts|sounds)(.+) $1$2 [QSA] 

所以,例如,如果你從example2.com阿帕奇重寫(內部)的請求,請求image77.png ...

的public_html/www.example2.com /圖片/ image77.png

的外部路徑(在你的瀏覽器)只會出現...

http://www.example2.com/images/image77.png 

其次,我試圖解決的問題...

但是,當我添加更多的域這開始擠滿我的* public_html/*目錄。我正在試圖做的是簡單地把所有的域資產目錄中的目錄設置,看起來像下面...

的public_html/WWW/

...這樣的WWW目錄將有以下上市...

的public_html/WWW/example1.com/

的public_html/WWW/example2.com/

的public_html/WWW/example2.com/


最後,從%{REQUEST_URI}生成的你如何可能處理這個問題的想法...

第一Apache的變量$1。如果我們可以簡單地替換這個時期。 www和域名這應該更新重寫到新的格式,雖然我不知道如何做到這一點,並保持已有的機制已成熟?

換句話說,我們可以創建一個重寫條件,用斜槓來替換第一個句點嗎?

回答

0

可以www.後捕獲域部分,後來在重寫規則使用它作爲%1

RewriteCond %{HTTP_HOST} ^www\.(.+)$ 
RewriteRule ^.*?/(.*)$ /public_html/www/%1/$1 [L] 
相關問題