2012-03-16 5 views
0

基本的に私はすべてのサイトが/ var/wwwにあるWebサーバーを設定していますが、〜/ public_html/sitenameで開発をしたいのですが、userdirをApacheに設定していますが、まだ/ var/wwwディレクトリのページに移動してください。.htaccess for apache userdirの

私はすべてのリンクを変更することができますが、私はhtaccessが簡単だと思います。

だから、私の質問は、それは言うことが可能である:

我々はexample.com/~jackyyll/project

を介してアクセスされているホームでの私のpublic_htmlのフォルダを持って、私はそれからのすべての要求をしたいです〜/ jackyyll/project/request_hereにリダイレクトされるプロジェクト

私は.htaccessでいくつかのことを試みましたが、何も動作していません。

おかげ

+0

mod_rewriteを使用するのとは対照的に、[mod_userdir](http://httpd.apache.org/docs/2.1/mod/mod_userdir.html)を実際に動かすことを検討するべきだと思います。 –

答えて

0

あなたがmod_userdirを使用したくない場合は、簡単なAliasMatchは、トリックを行うことができます。ちょうどAlias好きなもの、それはありませんが、それは、サーバーに入ってくるURLのかかりれ、以外

# /~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に似ているいくつかの機能を持っており、:ここで私はまっすぐ私のhttpd.confから、エトセトラ、/home/kaz/public-www/www.kylheku.com/~kaz/をマップするために使用するものですそれらをパスにマップします。出力は要求処理チェーンに再投入されません。 AliasまたはAliasMatchによってマップされたURLは、VirtualHost -sとそのdocrootsをバイパスします。これは特別な例外メカニズムのようなものです。

ユーザーのpublic-wwwディレクトリの.htaccessはうまくいきます。私はそこにRewriteRulesと他の厄介者を持っています。

もちろん、これはmod_userdirよりずっと簡単です。存在するかどうかにかかわらず、可能なすべてのユーザー名をすべての可能なuserdirディレクトリにマップします。 mod_userdirには、どのユーザーがuserdirを持っているかを制限するような、より多くの鐘や笛があります。