松尾です。
たぶんお役には立てませんが、試してみました。
Naota Kobayashi wrote:
> BlueQuartzでお世話になっています。小林直太ともうします。
> 初歩的な質問でスミマセン。
>
> ユーザーページは以下のようになると思いますが
> http://www.hoge.com/~user_id
>
> これを
> http://www.hoge.com/user_id/
> のようにチルダ~を使わないようにすることって出来るのでしょうか?
>
> ”~ ”の入力が難しい人もいるらしく、要望を受けております。
> ご教授下さいませ。
少し見てみたのですが、チルダでのユーザページは、mod_userdir ではなくて、
AliasMatch ^/~([^/]+)(/(.*))? /home/.sites/28/site1/users/$1/web/$3
というようなディレクティブで実現されています。
ちなみに、以下のようなファイルの中に上記の記述があります。
/etc/httpd/conf/vhosts/site1
ユーザページへのリクエストかどうかの識別子が必要なようですから、チルダ
を使わないのでは無く、別の識別子を使うことで解決するとしたら、、、
url として使える文字で、ユーザ名に使えない文字を識別子として使う必要があ
ると思います。しかも入力がしやすい文字。
どの文字が入力しやすいかは良くわかりませんが、仮にShiftを押す必要が無い
文字だとすると、、、
:;,.
この4文字が候補でしょうか?
では実験をしてみます。ここでは「;」を識別子として使ってみましょう。
AliasMatch ^/;([^/]+)(/(.*))? /home/.sites/28/site1/users/$1/web/$3
と変更して、apacheを再起動してみます。これで一応
http://test.example.com/;testuser/
のような形でアクセスできるようになりました。
問題点としては
1.vhost の設定をした場合、この設定が元にもどる可能性がある
2.そもそも、; を識別子に使うのは、チルダ以上に判りづらい気がする
ではこんなのはどうでしょう。
AliasMatch ^/users/([^/]+)(/(.*))? /home/.sites/28/site1/users/$1/web/$3
http://test.example.com/users/testuser/
うん。これはいいかもしれません。「users」というディレクトリ名が使えなく
なるデメリットはありますが、判りやすいし、入力もしやすそうです。
vhost の設定を web からした場合に、戻ってしまう危険を承知の上で
試してみてくださいませ。
ちなみにこれらは、FC1 + BlueQuartz-5100R-20040620.tar.gz での話しです。
--
Takashi Matsuo <tmatsuo (at mark) 10art-ni.co.jp>
GPG Key fingerprint =
87B6 0212 D28E 2905 BD32 4C83 C0ED 2BDB C129 164E