質問: ### 内容 現在レンタルサーバーでwebページを作成しています。 その中で、.htaccessで 1index.html無しURLへのリダイレクト 2wwwサブドメイン付きのURLへリダイレクト 3httpsのURLへリダイレクト を行っています。 これに加えてサブドメインでテスト環境(https://test.○○○.comのように)をつくっています。 この場合、ドキュメントルートにファイルを置くとどちらも読み込んでしまうので、 /www と /test のように同階層で並列にフォルダをつくり、本番環境とテスト環境用にアップロード先を変えています。 その際、.htaccessで /test 配下のみに認証をかけ、かつ上記の1・3のリダイレクトは活かしたいと思っています。 現在の記述だと、本番環境でhttps://www.○○○.com/index.html とすると、 https://www.○○○.com/www/ のようにアップロード用のフォルダ名がついたURLにリダイレクトし、 403エラーを返します。その場合の.htaccessの記述方法を教えていただきたいです。 また、現在はTOPのindex.htmlしかありませんが、下層に作成した際も同様のリダイレクトを行うように 設定をしておきたいです。 加えて、上記以外に最適なテスト環境の構築方法(サブディレクトリに作るなど)があれば教えていただきたいです。 ### 現在のファイル構造 ドキュメントルート/www ← 本番環境 ドキュメントルート/test ← テスト環境(配下全てに認証をかけたい) ### 該当のコード ``` RewriteEngine On Order Allow,Deny Allow from all Satisfy any # www有りのURLに統一 RewriteCond %{HTTP_HOST} ^○○○\.com RewriteRule ^(.*)$ https://www.○○○.com/$1 [R=301,L] # index.html無しのURLに統一 RewriteCond %{THE_REQUEST} ^.*/index\.html RewriteRule ^(.*)index.html$ https://%{HTTP_HOST}/$1 [R=301,L] # https有りのURLに統一 RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] # テスト環境はBasic認証をかける SetEnvIf Host ^test\.○○○\.com.* test_env deny from env=test_env # テスト環境 Basic認証用 AuthUserFile ××××/××××××/×××××/×××/.htpasswd AuthGroupFile /dev/null AuthName "Please enter your ID and Password" AuthType Basic require valid-user ```
回答: まずは、認証なしでメイン、サブドメインの参照が正常にできるのを確認してから、認証を入れていけばいいでしょうね