2011-11-09 31 views
1

我已經看到大量基於子域的URL重寫示例,但我正在嘗試基於域名本身進行URL重寫,特別提供具有域名的子文件夾中的內容在裏面。IIRF用於基於域重寫的正則表達式

舉例來說,我想

http://www.site1.com/sub/folders/long-html-filename.htm重寫才能 要麼 /sites/www.site1.com/sub/folders/long-html-filename.htm 或 http://www.masterdomain.com/sites/www.site1.com/sub/folders/long-html-filename.htm

我已經能夠自己做很多重寫正則表達式,但是我在這一塊上碰到了一堵磚牆。

謝謝!

回答

0

凱文 - 你很近。該IIRF筆者在拿到我還有剩下的路:

RewriteRule ^/(?!sites/)(.*)$ /sites/%{HTTP_HOST}/$1 

現在我只是想弄清楚如何,結合用強力WWW RedirectRule。

另一個絆腳石......我有這樣的:

RewriteCond %{HTTP_HOST} ^(?!www)[^\.]+\.[^\.]+$ [I] 
RedirectRule ^/(.*) http://www.%{HTTP_HOST}/$1 [R=301] 

RewriteRule ^/(?!sites/)(.*)$ /sites/%{HTTP_HOST}/$1 

但它似乎並不奏效,我剛開超時。

+0

這是行不通的。我的主機文件中有一個配置錯誤。 –

0

您是否嘗試過使用%{HTTP_HOST}來捕獲主機名?也許這樣的事情會起作用:

RewriteRule ^/(.*) /sites/%{HTTP_HOST}/$1 
+0

一些示例[here](http://cheeso.members.winisp.net/Iirf21Help/html/63be1460-dbd0-4ad4-ad39-4b68352fe9a6.htm)顯示瞭如何抓取域名,與子域分開。 –