2012-03-16 87 views
0

基本上我有一個網站服務器設置所有網站都在/ var/www但我希望能夠在〜/ public_html/sitename進行開發,所以我設置userdir的在Apache中,但鏈接仍然轉到/ var/www目錄頁面。.htaccess的Apache用戶目錄

我知道我可以進入並更改所有鏈接,但我認爲htaccess會更容易。

所以我的問題是,是否可以說:

我們有通過example.com/~jackyyll/project訪問在我回家的public_html文件夾

我想從所有的請求項目被重定向到〜/ jackyyll/project/request_here

我在.htaccess中嘗試了一些東西,但沒有任何工作。

感謝

+0

我認爲你應該真的在考慮獲取[mod_userdir](http://httpd.apache.org/docs/2.1/mod/mod_userdir.html)而不是使用mod_rewrite。 – 2012-03-16 18:21:16

回答

0

如果你不想使用mod_userdir,一個簡單的AliasMatch可以做的伎倆。以下是我用來映射www.kylheku.com/~kaz//home/kaz/public-www/,等等,直接從我的httpd.conf

# /~user/blah goes to /home/user/public-www/blah 
AliasMatch ^/~([a-z]+)/(.*) /home/$1/public-www/$2 

# /~user and goes to /home/user/public-www/ 
AliasMatch ^/~([a-z]+)$ /home/$1/public-www/ 

AliasMatch有一些功能類似mod_rewrite,除,就像Alias它的作用是它需要的URL進入服務器和將它們映射到路徑。輸出不會被重新注入到請求處理鏈中。任何由AliasAliasMatch映射的URL都會繞過VirtualHost -s及其文檔。這就像一個特殊的例外機制。

.htaccess在用戶的public-www目錄中工作得很好。我有RewriteRules那裏和其他cruft。

當然,這比mod_userdir簡單得多。它將所有可能的用戶名映射到所有可能的userdir目錄,不管它們是否存在。 mod_userdir有更多的花裏胡哨的東西,比如限制哪些用戶擁有userdir,以及替代userdirs特定的用戶。