網域查詢: www.
返回首頁
當前位置: 首頁 > 站長學院 > 服務器 >

求一個Apache Rewrite

時間:2010-02-17 16:00來源: 作者: 點擊:
肯了幾天Apache文檔,還是沒找到答案,希望大家幫助。 有一虛擬主機,使用域名︰www.abc.com和www.abc.net DocumentRoot指向/www/abc_com/ 現在我想使用Rewrite技術把www.abc.net 的DocumentRoot指向/www/mu
  
肯了幾天Apache文檔,還是沒找到答案,希望大家幫助。

有一虛擬主機,使用域名︰www.abc.com 和 www.abc.net
DocumentRoot 指向 /www/abc_com/

現在我想使用Rewrite技術把 www.abc.net
的 DocumentRoot 指向 /www/music/

前提條件是不另開設虛擬主機。
請問有沒有辦法做到,如何實現?

 shaoyiner 回復于︰2005-05-11 09:47:42
使用redirect應該可以實現的,過程如下:

vi /etc/httpd/conf/httpd.conf

添加如下命令:
Redirect /www/music http://www.abc.com/www/abc_com

你試試吧,應該可以的.這叫做頁面重定向.

 voaneos 回復于︰2005-05-11 10:27:11
老哥的方法應該不行,
因為我要把www.abc.net 的主目錄指向/www/music/ 
而在訪問時重定向,是訪問不了/www/music/目錄的,
因為music目錄與當前的根目錄是在同一級的

 goodloveboys 回復于︰2005-05-11 11:23:42
RewriteCond  %{SERVER_NAME}  www.abc.net
Redirect ^/$ /www/music/  [L]

 voaneos 回復于︰2005-05-11 14:44:48
我使用了 goodloveboys 的方法,結果出錯︰
Redirect to non-URL

 goodloveboys 回復于︰2005-05-11 15:17:16
RewriteEngine on
RewriteCond  %{SERVER_NAME}  www.abc.net
RewriteRule ^/$ /www/music/  [L]


汗,   我把Redirect ^/(.*)$ /www/music/$1  [L]   這個玩意寫錯了, 倒

 voaneos 回復于︰2005-05-12 17:08:00
goodloveboys  老哥,按我的實淺和理解,都好像不行。

按我理解
“RewriteRule ^/$ /www/music/  [L] ”
這只是重定向到 http://www.abc.com/www/music/

因為當前的DocumentRoot 指向 /www/abc_com/ 

而我想要的效果是把 abc.net 的根目錄指定在 /www/music/

而不是重定向到當前根目錄下的某個子目錄。

 goodloveboys 回復于︰2005-05-12 17:55:28
我試了下,相對路徑也可以,  

另全部改寫應該寫成

RewriteRule ^/(.*)$ /../../$1  [L] 

汗,這樣竟然也成, 不過可能會受到部分安全設置的影響



出現問題應該多試試,多看看,然後再問,呵呵

 voaneos 回復于︰2005-05-15 22:19:33
終于成功了,感謝大家的幫忙。特別感謝goodloveboys 大俠提點。
最後使用%{HTTP_HOST}測試成功的,
因為goodloveboys 大俠%{SERVER_NAME}會導不成功的原因是
無論使用什麼域名訪問,它的SERVER_NAME始終是︰www.abc.com

 goodloveboys 回復于︰2005-05-16 14:41:42
哦, 呵呵,  這點我沒有注意,   在我機器上不同的,

 114 回復于︰2005-07-06 14:21:30
http://www.liaomeng.com/Manual/apache20(中文apache20文檔)
上的URL地址重寫中就有這個實例。


頂一下
(0)
0%
踩一下
(0)
0%
------分隔線----------------------------
最新評論 查看所有評論
發表評論 查看所有評論
請自覺遵守互聯網相關的政策法規,嚴禁發佈色情、暴力、反動的言論。
評價:
表情:
用戶名: 密碼: 驗證碼:
推薦內容