以下の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 の両方を教えてください。
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 の有無で動作を変えるほうが良いと思います(つまり上記の書き方より,良いソリューションがある)
はしょってしまいますが,
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 でも大丈夫なはずです(ドキュメントを見る限りも,制約はなさそうです)
ポイントについては気にされなくて結構ですので,普通の配分で大丈夫です
ふむふむ。お察しのとおりです。質問の仕方が安易でした。
「良いソリューション」という物を教えていただけますか?
はてなポイント +100 でどうでしょう?
(個別のポイント送付を使うので信頼関係が必要ですが…それとも質問打ち切り時に付与できたっけ!?)
P.S
上記の mod_rewrite 使った回答は 1.3 と 2.0 の両方に共通でしょうか?