内容
現在レンタルサーバーでwebページを作成しています。
その中で、.htaccessで
①index.html無しURLへのリダイレクト
②wwwサブドメイン付きのURLへリダイレクト
③httpsのURLへリダイレクト
を行っています。
これに加えてサブドメインでテスト環境(https://test.○○○.comのように)をつくっています。
この場合、ドキュメントルートにファイルを置くとどちらも読み込んでしまうので、
/www と /test のように同階層で並列にフォルダをつくり、本番環境とテスト環境用にアップロード先を変えています。
その際、.htaccessで /test 配下のみに認証をかけ、かつ上記の①・③のリダイレクトは活かしたいと思っています。
現在の記述だと、本番環境で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
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。