質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

Q&A

1回答

276閲覧

.htaccessでの内部転送がうまくいきません

kuboshow

総合スコア15

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

0グッド

0クリップ

投稿2022/08/28 09:10

前提

XServerのに以下のようなディレクトリを構成しています。

public_html ┬ production ┬ index.html │ ├ service.html │ ├ favicon.ico │ ├ style.css │ ├ images │ ├ js │ ├ font │ └ css │ ├ staging ─ index.html │ └ .htaccess

.htaccessには以下のように記載しています。

RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L] RewriteCond %{THE_REQUEST} ^.*/index.(html|php) RewriteRule ^(.*)index.(html|php)$ https://%{HTTP_HOST}/$1 [R=301,L] RewriteCond %{REQUEST_URI} !^/staging/ RewriteRule ^(.*)$ /production/$1 [L]

実現したいこと

  • https://~~~.com/~~~にアクセスした際にproduction配下のファイルを表示(URLはそのまま)したい
    • 例えば、https://~~~.comにアクセス → production/index.htmlの内容を表示
    • 例えば、https://~~~.com/service.htmlにアクセス → production/service.htmlの内容を表示
  • https://~~~.com/staging/~~~にアクセスした際にstaging配下のファイルを表示したい
    • 例えば、https://~~~.com/stagingにアクセス → staging/index.htmlの内容を表示
    • 例えば、staging配下をproduction配下のファイル構成と同じにした場合、https://~~~.com/staging/service.htmlにアクセス → staging/service.htmlの内容を表示

発生している問題・エラーメッセージ

stagingの方はアクセス可能だが、productionのほうはinternal errorになる。

試したこと

RewriteRule ^(.*)$ /production/$1 [L]RewriteRule ^(.*)$ /staging/$1 [L]に書き換えてhttps://~~~.comにアクセスすると staging/index.htmlが表示された。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

/production/ がリダイレクトループになっているのではないでしょうか? (エラーログを確認)
/production/ をリダイレクトしないよう、1行 RewriteRule を挿入するといいと思います。

(略) RewriteRule ^production - [L] RewriteCond %{REQUEST_URI} !^/staging/ RewriteRule ^(.*)$ /production/$1 [L]

投稿2022/09/02 03:06

TaichiYanagiya

総合スコア12146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問