Linux で自宅サーバ [ Home Server Techncial ]

>>トップページに戻る

BBS 過去ログ No.0010に戻る

タイトル: /~username 後の"/"の補完
記事No: 3041
投稿日: 2004/11/24(Wed) 01:43
投稿者: masa
以前、自動的に"/"を最後に付加・補完させるには?
という質問をしたものです。

http://www.example.com → http://www.example.com/

これはご指導いただいた通り設定したところうまくいきました。
しかし、以下の場合ではうまく"/"を補完してくれませんでした。

http://www.example.com/~username → HTTP 400 正しくない要求

この場合もちゃんと最後に"/"を自動的に補完させるには
httpd.confのどのエントリーを編集したらよいでしょうか?
ご存知の方いらっしゃいましたらお知恵を拝借させてください。
よろしくお願いします。

タイトル: Re: たぶん・・・
記事No: 3044
投稿日: 2004/11/24(Wed) 17:41
投稿者: 兵器   <weapon_kgking@hotmail.com>
> 以前、自動的に"/"を最後に付加・補完させるには?
> という質問をしたものです。
>
> http://www.example.com → http://www.example.com/
>
> これはご指導いただいた通り設定したところうまくいきました。
> しかし、以下の場合ではうまく"/"を補完してくれませんでした。
>
> http://www.example.com/~username → HTTP 400 正しくない要求
>
> この場合もちゃんと最後に"/"を自動的に補完させるには
> httpd.confのどのエントリーを編集したらよいでしょうか?
> ご存知の方いらっしゃいましたらお知恵を拝借させてください。
> よろしくお願いします。

時間がなかったので試してないですが
/を自動にするなら
UseCanonicalName だったと思いますよ
試して見て下さい

タイトル: ですから・・・
記事No: 3047
投稿日: 2004/11/26(Fri) 05:54
投稿者: masa
> UseCanonicalName だったと思いますよ
> 試して見て下さい

そうです。それはこの前のスレで教えていただいたことで、
私が既に試したことです。
そして、自動的に"/"の補完を確認しました。
しかしそれは以下のような場合にだけ、です。

http://www.example.com → http://www.example.com/

私が質問しているのは、
これにサブディレクトリーがついた場合、
(私の環境では)サブディレクトリーには"/"を補完してくれないのです。
そして「正しくない要求 400」となります。

http://www.example.com/~username → 正しくない要求400

これは UseCanonicalName をOn にしてもOff にしても変わりません。
みなさんはどうやってサブディレクトリーに対して
"/"を補完しておられるのか?
ということなのですが・・・?

タイトル: Re: 自分の場合は
記事No: 3049
投稿日: 2004/11/26(Fri) 20:53
投稿者: 鷲清 URL: http://mild7.zive.net/xoops
参考になるかどうか解りませんが??
DocumentRoot /home/httpd/hogehoge で
ユーザーは
UserDir /home/httpd/user に作ってますが、何もしないで
/~hoge で ちゃんと /~hoge/ と補完されますね

タイトル: Re^2: 自分の場合は
記事No: 3050
投稿日: 2004/11/26(Fri) 20:57
投稿者: kokko
http://itbtech.itboost.co.jp/inst/inst_47.php
ここと、
http://www.miloweb.net/cgi-bin/wforum/wforum.cgi?mode=allread&no=2881&page=50
過去ログを参照してください。
それでもダメでしょうか?

タイトル: 修正し、正常動作を確認。
記事No: 3058
投稿日: 2004/11/28(Sun) 18:31
投稿者: masa
http://www.miloweb.net/cgi-bin/wforum/wforum.cgi?mode=allread&no=2881&page=50
> 過去ログを参照してください。
> それでもダメでしょうか?

ありがとうございます。最終的に上記文献が参考になりました。
上記文献に従い、telnetでlocalhost 80に接続、
ドキュメントルートの /test/ フォルダにアクセスしました。

# telnet localhost 80 ←自分自身の80番ポートにtelnetでアクセス
Trying 127.0.0.1...
Connected to localhost.localdomain
Escape character is '^]'.
GET /test HTTP/1.0 ←わざと最後のスラッシュを省略したリクエストを送る
←ここから返された答え
HTTP/1.1 301 Moved Permanently ←301番のエラーが発生している
Date: Fri, 25 May 2004 19:16:49 GMT
Server: Apache/1.3.33 (Unix) mod_ssl/2.X.X OpenSSL/0.X.X
Location http://www.example.com:443/test/ ←manualがディレクトリであることを判断し転送先を返している
Connection: close
....以下省略....


ここでいらない記述がドメインにくっついてきていることに気が付きました。:443 です。

原因はhttpd.confの次の記述でした。

# Port: The port to which the standalone server listens. For
# ports < 1023, you will need httpd to be run as root initially.
#
Port 80
Port 443

いらないところにport 443と書いていたためです。
これを削除し、apache を再起動をかけ、正常動作を確認しました。

今回は「問題があったらtelnet でlocalhostにつなげてしらべる」
という方法を学習しました。大変ありがとうございました。

▲ページの最上部に戻る

Copyright© Home Server Technical. All Right Reserved.
webmaster@miloweb.net