🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

FreeBSD

FreeBSDは、Unix系のオープンソースのOSです。PC/AT互換機用ですが、他のプラットフォームにも移植されています。優れたネットワーク・セキュリティ・ストレージ機能で人気のOSです。ソースコードと共に無償で公開されており、多くの コミュニティによって長年に渡って開発されています。

Q&A

解決済

2回答

1027閲覧

.htaccessを使ったリダイレクトについて

tiqua_nibio

総合スコア62

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

FreeBSD

FreeBSDは、Unix系のオープンソースのOSです。PC/AT互換機用ですが、他のプラットフォームにも移植されています。優れたネットワーク・セキュリティ・ストレージ機能で人気のOSです。ソースコードと共に無償で公開されており、多くの コミュニティによって長年に渡って開発されています。

0グッド

0クリップ

投稿2019/12/14 05:50

こんにちは、少しわからないことがあります。

Webサイトをレンタルサーバにて運用しております。

あるとき、gitを使うことになり、サイト全体をgit cloneで取り込むことになりました。
ところが、wwwフォルダの削除ができないのでwwwの中にtemp_wwwフォルダなるものを作ってそこにgitでサイトを取り込むことにしました。
中身をwwwの中にコピーすればいいのではないか、と言われますとそうなのですが、DBも絡んでおりうまくいきませんでした。

本題です。

ここで一つ、以前から考えていたのですが
http://example.com/
にアクセスされたら、当然のことですが
http://example.com/temp_www/
へリダイレクトするのは必要になると感じていました。

そこで、下の.htaccessファイルを作ってみたのですがうまくいきません。
どこかおかしいところがありますでしょうか。

教えていただけますと幸いです。よろしくおねがいします。
また、URLバーにtemp_wwwが表示されないようにすることは可能でしょうか?

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] RewriteRule https://example.com(.*)$ https://example.com/temp_www$1 [L,R=301] </IfModule>

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2019/12/14 07:17

おす! http://example.com/ へのアクセスは全部 http://example.com/temp_www/ 宛にしてぇって事か? それ、DocumentRootを書き換えた方がはえぇと思うんだけど、 書き換えられねぇ契約なのか?
tiqua_nibio

2019/12/16 04:00

そうですね、そういう契約なんですよ。
guest

回答2

0

ベストアンサー

また、URLバーにtemp_wwwが表示されないようにすることは可能でしょうか?

Apache

1RewriteEngine On 2RewriteCond %{HTTPS} off 3RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 4RewriteRule ^(.*)$ https://%{HTTP_HOST}/temp_www/$1 [L]

あるいは、もうちょっと書き換えて、

Apache

1RewriteEngine On 2RewriteCond %{HTTPS} off 3RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 4RewriteRule ^ /temp_www%{REQUEST_URI} [L]

投稿2019/12/14 17:50

otn

総合スコア85882

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

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

otn

2019/12/16 05:37

> また、URLバーにtemp_wwwが表示されないようにすることは可能でしょうか? RewriteRuleの最後の [ ] に、 ・R あり・・・・・アドレスバー書き換える ・R なし・・・・・アドレスバーそのまま
guest

0

RewriteRule https://example.com(.*)$ https://example.com/temp_www$1 [L,R=301]

の部分を

RewriteRule ^(.*)$ https://example.com/temp_www$1 [L,R=301]

これで試してみてください。

投稿2019/12/14 14:52

take88

総合スコア1467

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

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

tiqua_nibio

2019/12/16 04:01

ありがとうございます。これでもうまくいきました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問