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

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

新規登録して質問してみよう
ただいま回答率
85.46%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Q&A

解決済

2回答

228閲覧

htaccessリダイレクトを設定する際、旧サイトを削除してもいいのか

saku615

総合スコア46

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

0グッド

1クリップ

投稿2024/05/07 03:14

実現したいこと

旧サイトから新サイトの方にリダイレクトさせたいのですが、先方からサイトを閉鎖してほしい(ディレクトリごと削除してほしい)と依頼されています。

発生している問題・分からないこと

旧サイト:aaa.com
新サイト:bbb.com

旧サイトと新サイトは別ドメインなのですが、.htaccessを新サイトだけに置いて旧→新にリダイレクトさせることは可能なのでしょうか?

旧サイトにアクセスした時にリダイレクトさせるという認識なので、先方からの依頼である「旧サイトの閉鎖」というのはできないのでは…と思うのですが。

なので旧サイトのディレクトリのみ残して中身(cssやその他ファイル)を全て削除し、.htaccessのみ設置して新サイトにリダイレクトさせる形がベストかなと考えています。
もし旧サイトをディレクトリごと削除しても旧→新へリダイレクトさせる方法があれば教えていただきたいです。

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

テラテイルを含め調べてみたのですが同じディレクトリ内でのリダイレクトやサイトを残した状態でのリダイレクト方法しか見つかりませんでした。

補足

特になし

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

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

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

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

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

guest

回答2

0

ベストアンサー

旧サイトにアクセスした時にリダイレクトさせるという認識なので、先方からの依頼である「旧サイトの閉鎖」というのはできないのでは…と思うのですが。

その通りです。合ってます。旧ドメインでアクセスした時に「ドメイン解約済み」「ドメインに対応するウェブサーバがない」とかであればそこで終わりです。ただ、リダイレクトを今後永久に続けるのかというと、数年後とかにアクセスログをみて旧ドメインでのアクセスが無くなっていれば廃止しても良いかと思います。
ドメイン名によっては、ドメイン解約しちゃうと、誰かに買われて詐欺サイトやアダルトサイトにそのドメイン名を付けられるリスクも考慮が必要ですが。

なので旧サイトのディレクトリのみ残して中身(cssやその他ファイル)を全て削除し、.htaccessのみ設置して新サイトにリダイレクトさせる形がベストかなと考えています。
もし旧サイトをディレクトリごと削除しても旧→新へリダイレクトさせる方法があれば教えていただきたいです。

ディレクトリーは不要です。
Apacheの設定ファイルのどこかに、旧サイト名を old.example.com とすると、

Apache

1<VirtualHost *:443> 2 ServerName old.example.com 3 DocumentRoot /~~~~~~ 4 ~~~~ 5</VirtualHost>

のような記述があるはずです。それを、

Apache

1<VirtualHost *:443> 2 ServerName old.example.com 3 Redirect permanent / https://new.example.com 4</VirtualHost>

と書き直すと、https://old.com/aaa/bbb/ccchttps://new.com/aaa/bbb/cccのようにパス名部分以降はそのままでリダイレクトされます。そうじゃなくて全部新サイトのトップにリダイレクトしたいのなら、

Apache

1<VirtualHost *:443> 2 ServerName old.example.com 3 RedirectMatch permanent ^ https://new.example.com 4</VirtualHost>

ドキュメントルートのディレクトリにはアクセスに行かないのでデフォルトでも害はないかと思いますが、どこかにそれと分かる名前で空のディレクトリーを作ってそれを指定する方が意図が明確になって良いかと思います。

ポート番号が443だけじゃなくて80の記述もあればそれも変更です。

投稿2024/05/07 14:25

otn

総合スコア84804

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

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

saku615

2024/05/09 10:15

今回はドメインをすぐ削除しない方向になったので、旧サイトのルートディレクトリにリダイレクトの処理を記述した.htaccessを設置する形で対応しました。 またディレクトリ構造が旧・新で変わるのと、できるだけ同じ内容のページにリダイレクトされるようにしたいという関係で、1ページずつ対応するページにリダイレクト処理する形になりました。 知りたかったことを具体的に教えていただきありがとうございました!
guest

0

古いサイトは物理的に残しておく必要はありません。
旧ドメインを自分で管理しているなら新サイトに旧ドメインを割り当てればそのままでも動かそうと思えば動くし、htaccessで新ドメインに飛ばすことも可能でしょう。
逆に旧ドメインは別の組織が管理しているのであれば、その会社に新サイトへ誘導してもらうか、あきらめて404エラーで気づいてもらうかのいずれかでしょう

投稿2024/05/07 03:57

yambejp

総合スコア115010

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

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

saku615

2024/05/07 04:05

具体的にhtaccessにどのように記載すればいいか、どこにhtaccessを設置すればいいかなど教えていただくこと可能でしょうか?
yambejp

2024/05/07 04:29 編集

すんなりやるなら、バーチャルドメインでbbb.comと同じサーバー上にaaa.comを設定してください。 bbb.comと同じ内容を設定する必要はありません。 新規で設定したaaa.comのルートの.htaccessにbbb.comへの転送を指定すればよいでしょう。 バーチャルドメインが設定できないのであればbbb.comの各ディレクトリのhtaccessでの設定が必要になると思います。 (aaa.comに対するDNSの設定が適切に変更されている前提)
saku615

2024/05/07 04:44

ありがとうございます。 確認したところ旧サイトも新サイトも同じサーバー内にある状態なので、質問のところで書いたように旧サイトのルートディレクトリに転送を指定した.htaccessを設置すればよさそうですかね?
yambejp

2024/05/07 06:24

状況わからないのですが、同じグローバルIPということですか? そうなると管理側がディレクトリーごと削除しろといっているのであれば バーチャルドメインでの設定は厳しいかもしれません。 bbb.com側の各ディレクトリの設定が現実的かもしれません
saku615

2024/05/07 08:57

申し訳ございません。グローバルIPというのを理解できていないのですが、FTPからアクセスできるサーバー内に旧サイトも新サイトもある状態です。 aaa.com(旧) ┗public_html  ┗.htaccess←ここでbbb.comにリダイレクトさせる bbb.com(新) ┗public_html 本来はaaa.comにアクセスされたときにaaa.comに設置されている.htaccessでリダイレクトさせると思うのですが、aaa.comを削除する場合、そもそも旧から新にリダイレクトさせることはできるのか、できるのであればどのような転送方法があるか知りたいという質問になります。
yambejp

2024/05/07 09:11

DNSに対する知識が不足しているようです。ドメイン名を解決するにはレジストラから取得したドメイン名と、IPSから取得したグローバルIPアドレスが必要です。 FTPからアクセスできるサーバーというのはあくまでFTPとしてのIPアドレスであってそれがaaa.com、bbb.comそれぞれ外部的に別のIPアドレスなのか、同じIPアドレスなのか調査する必要があります。(端的にnslookup的な検証で十分)
saku615

2024/05/09 10:12

今回はドメインをすぐ削除しない方向になったので、旧サイトのルートディレクトリにリダイレクトの処理を記述した.htaccessを設置する形で対応しました。 ご教示いただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問