Apache の設定の質問。

以下の3つのフォルダがあったとします。
1) ~/public_html/
2) ~/public_html/a/
3) ~/public_html/b/

1) は 80番ポートのみ
2) のフォルダ配下は 80番, 443番のいづれもOK
3) のフォルダ配下は 443番ポートのみ

の httpd.conf はどうやって書けばよいですか?
Apache1.3 および 2.x の両方を教えてください。

回答の条件
  • 1人2回まで
  • 登録:2008/12/01 13:40:02
  • 終了:2008/12/01 15:54:25

回答(2件)

id:goodvn No.1

goodvn回答回数228ベストアンサー獲得回数182008/12/01 14:15:06

ポイント35pt

mod_rewrite が使える前提です

<Directory ~/public_html>
RewriteEngine on
RewriteCond %{SERVER_PORT} !80
RewriteRule .* [F]
</Directory>

<Directory ~/public_html/a>
RewriteEngine on
RewriteCond %{SERVER_PORT} !80
RewriteCond %{SERVER_PORT} !443
RewriteRule .* [F]
</Directory>

<Directory ~/public_html/b>
RewriteEngine on
RewriteCond %{SERVER_PORT} !443
RewriteRule .* [F]
</Directory>

もし,ディレクトリの配置が,

~public_html 80 443

~public_html/a 80 のみ

~public_html/b 443 のみ

なら違う方法もあります(VirtualHost ディレクティブ参照)

ポート番号から察するに,SSL 関係だと思うので,ポート指定というより,SSL の有無で動作を変えるほうが良いと思います(つまり上記の書き方より,良いソリューションがある)

id:naoponsub

ふむふむ。お察しのとおりです。質問の仕方が安易でした。

「良いソリューション」という物を教えていただけますか?

はてなポイント +100 でどうでしょう?

(個別のポイント送付を使うので信頼関係が必要ですが…それとも質問打ち切り時に付与できたっけ!?)

P.S

上記の mod_rewrite 使った回答は 1.3 と 2.0 の両方に共通でしょうか?

2008/12/01 14:33:49
id:goodvn No.2

goodvn回答回数228ベストアンサー獲得回数182008/12/01 15:51:16

ポイント65pt

はしょってしまいますが,

NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:80>
  DocumentRoot /usr/local/www/data
</VirtualHost>

<VirtualHost *:443>
  DocumentRoot /usr/local/www/data_ssl
  SSLEngine on
</VirtualHost>

と書くことで,各ポートごとに,ディレクトリを分けることができます

Apache 1.3 の環境が手元に無いので確かめられませんが,mod_reweite の方法,NameVirtualHost とも,1.3 でも大丈夫なはずです(ドキュメントを見る限りも,制約はなさそうです)

ポイントについては気にされなくて結構ですので,普通の配分で大丈夫です

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

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

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

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

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