mod_rewriteで可能でしょうか?


公開ディレクトリにあるディレクトリにURLでアクセスする際チルダ付でアクセスを希望します。

単にチルダ付のディレクトリを公開ディレクトリに設置したのですが500エラーになりましたので。
(こちらの回避方法があればそちらも合わせて教えて頂けると幸いです)
http://○○○.com/~abc
http://○○○.com/~bbb
http://○○○.com/~xyz

このようなURLにアクセスした際、それぞれ

/rootディレクトリ/abc
/rootディレクトリ/bbb
/rootディレクトリ/xyz

また、
http://○○○.com/~abc/cdf
http://○○○.com/~bbb/ggg
http://○○○.com/~xyz/zzz

の場合は、

/rootディレクトリ/abc/cdf
/rootディレクトリ/bbb/ggg
/rootディレクトリ/xyz/zzz

になるようにできますか?

.htaccessに記述する具体的な例をあげて頂けると助かります。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/01/23 20:29:06
  • 終了:2008/01/30 20:30:03

回答(3件)

id:khoshi3 No.1

khoshi3回答回数71ベストアンサー獲得回数122008/01/23 21:16:15

ポイント27pt

.htaccess か httpd.conf に下記のような記述でご希望の書き換えが出来ると思います。

(チルダつきは試したことがなかったので、Apache2で実際に検証してみました。) :

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteRule ^/~(.*)$ /$1 [R]

</IfModule>

ただし、mod_userdirとぶつかりそうなので、「UserDir disable」で試してみてください。

さらなる詳細は下記URL等を参考にしてください。:

http://www.net-newbie.com/trans/mod_rewrite.html

id:akide

回答、補足ありがとうございます。

後ほど頂いた回答を元に動作テストしたいと思います。

2008/01/28 12:07:36
id:khoshi3 No.2

khoshi3回答回数71ベストアンサー獲得回数122008/01/23 21:43:23

ポイント27pt

先ほどの補足をさせていただきます。

mod_userdir にて、(1)UserDir public_html が有効で、かつ、(2)ユーザhogeが存在する場合、

確かに、http://○○○.com/~hoge は 403(Forbidden)になります。(私が試したところ500にはなりませんでした)

ユーザhogeが存在しなければ、ディレクトリ"~hoge"がそのまま見えましたので、チルダ(~)始まりのPATHを利用される場合は「UserDir disabled」にしてください。

ご存知だとは思いますが、念のためmod_userdirのURLも提示しておきます。:

http://httpd.apache.org/docs/2.2/ja/mod/mod_userdir.html

id:y-kawaz No.3

y-kawaz回答回数1420ベストアンサー獲得回数2252008/01/24 00:02:34

id:akide

参考URLありがとうございます。

後ほど頂いた回答を元に動作テストしたいと思います。

2008/01/28 12:08:50

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません