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

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

新規登録して質問してみよう
ただいま回答率
85.35%
リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

.htaccess

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

Q&A

解決済

1回答

318閲覧

リダイレクト .htaccessがうまくできない

savo0302

総合スコア1

リダイレクト

プログラムの入力元や出力先を通常とは別の場所に転送させることをリダイレクトと呼びます。

.htaccess

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

0グッド

0クリップ

投稿2020/04/28 12:06

前提・実現したいこと

旧サイトから現サイトへ
ページごとに301リダイレクトで飛ばしたい

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

旧サイトのトップページ → 現サイトへのリダイレクトはできました
しかし下の階層のページにも.htaccessファイルを作成しましたがうまくできませんでした。
また、下の別の階層のページはそのディレクトリに.htaccessを作成していないけど 現サイトのトップページに飛んでいます。
なぜなのでしょうか?

また
RewriteEngine on ^www.old.com
RewriteRule ^(.*)$ https://www.new.com/$1 [R=301,L]
で記述していますが
ページごとに新たな各ページに飛ばしたかったので
下の階層にも響いてるということは 全体に効いてしまう?これではいけないのかと思い

RewriteRule ^/old-page.com$ https://www.new.com [R=301,L]
といった感じで試しましたが
その時はうんともすんとも言わず リダイレクトできませんでした

お判りになる方お教えいただけたら助かります。何卒よろしくお願いします。

該当のソースコード

RewriteEngine on RewriteCond %{http_host} ^www.old.com RewriteRule ^(.*)$ https://www.new.com/$1 [R=301,L]

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

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

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

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

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

guest

回答1

0

ベストアンサー

何をしたいのか不明ですが、同じサーバーでドメイン名だけ変えたと言うことなら、そのコードで合っています。

.htaccessは、あるディレクトリに置いたら、サブディレクトリ含めそのディレクトリ以下のすべてのファイルに効きます。

投稿2020/04/28 12:55

otn

総合スコア85901

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

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

savo0302

2020/04/28 13:31

ご回答いただきありがとうございます! 違うドメインで サーバーも違います。 現在、旧サイトの一番上の階層に.htaccessを置いていて 旧トップページを新サイトのトップページにリダイレクトしていますが、 旧サイトの下のディレクトリAの "aページ"はまた、新サイトの"a'ページ"に ディレクトリBの"bページ"は新サイトの”b'ページに” と各ページにに飛ばして行きたいです。
otn

2020/04/28 13:37

違うサーバーなら、旧サーバーに来たリクエストのHTTP_HOSTは旧ドメインに決まっているので、RewriteCond する必要が無いです。
otn

2020/04/28 13:42

> と各ページにに飛ばして行きたいです。 そうなっているはずです。 ならないとしたら、質問文に書いてある以外のリダイレクト記述がどこかにあるのでしょう。 念のためですが、 > 旧サイトの下のディレクトリAの "aページ"はまた、新サイトの"a'ページ"に ディレクトリBの"bページ"は新サイトの”b'ページに” は、 「旧サイトの下のディレクトリAの aページは、新サイトのディレクトリAのaページ"に、ディレクトリBのbページは新サイトのディレクトリBのbページに」 ですよね? ディレクトリBの"bページ"は新サイトの”b'ページに”
otn

2020/04/28 13:58 編集

まるごとリダイレクトであれば、 Redirect permanent / https://www.new.com と書くのが簡単です。
savo0302

2020/05/01 04:52

ご丁寧にアドバイスいただき誠にありがとうございます。 ページごとに リダイレクトする方法はうまくいきませんでしたが まるごとリダイレクトにして アドバイスいただいた RewriteCondを無くし スッキリした書き方に変更しました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問