現在、NTTPCのホスティングサービスを利用しております。
ついては、以下の状態を実現/実施できる.htaccessの記述を教えてください。
1)NTTPCホスティングサービスにて、aaa.co.jpのドメインを利用また、http://aaa.co.jp/ 及びhttp://wwww.aaa.co.jp/について、SSL証明書を取得(ベリサイン)したため、http→httpsへリダイレクトを実施
2)マルチホストとして、www-ss.aaa.co.jpを設定。www-ss.aaa.co.jpはhttp://www-ss.aaa.co.jpで利用し、かつこのサイトはベーシック認証を実施したい。
現状、以下の内容を.htaccessへ記述し、1)のリダイレクトは実現できた。
RewriteEngine on RewriteCond %{REQUEST_URI} !^/cgi-def/ RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
しかし、以下の内容を.htaccessに追加すると内部エラーになり、2)が実現できません。
RewriteCond %{HTTP_HOST} ^aaa.co.jp$ RewriteCond %{REQUEST_URI} ^/(www-ss.aaa.co.jp)/ RewriteRule ^(.*)$ /$1 [L,R=404] RewriteCond %{HTTP_HOST} ^(www-ss.aaa.co.jp) RewriteCond %{REQUEST_URI} !^/(www-ss.aaa.co.jp)/ RewriteRule ^(.*)$ /%{HTTP_HOST}/$1/ [L]
御手数ですが、ご教授願います。
---2017/08/25 12:17追記
ご指摘いただいた、BOMを修正及び、回答頂いた行の順序を見直しました。
意図する動きにはなっておりませんが、http://www.aaa.co.jp/へアクセスすると、https://www.aaa.co.jp/へリダイレクトされました。
しかし、http://www-ss.aaa.co.jp/へアクセスすると、「このページは表示できません」となります。
いか、htaccessの内容です。
# This file is made by RewriteRule Tool. # Enable RewriteEngine. RewriteEngine on RewriteCond %{HTTPS} off # 404 Error for Multidomain Directories. RewriteCond %{HTTP_HOST} ^aaa.co.jp$ RewriteCond %{REQUEST_URI} ^/(www-ss.aaa.co.jp)/ RewriteRule ^(.*)$ /$1 [L,R=404] # Main RewriteRule for multidomain. RewriteCond %{HTTP_HOST} ^(www-ss.aaa.co.jp) RewriteCond %{REQUEST_URI} !^/(www-ss.aaa.co.jp)/ RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [L] RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
回答1件
あなたの回答
tips
プレビュー