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

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

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

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

リダイレクト

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

.htaccess

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

Q&A

解決済

1回答

348閲覧

URLを引越しする時に必要なリダイレクトで、動的な値を使ってリダイレクトしたい場合の処理方法について

ulluegg

総合スコア8

PHP

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

リダイレクト

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

.htaccess

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

0グッド

1クリップ

投稿2022/07/29 20:50

編集2022/07/29 21:48

お世話になります。サイトの引っ越しの時など、『.htaccess』などを使って古いURLから新しいURLへリダイレクト処理を行うと思うのですが、動的な値を持つページのリダイレクトについてはどのような処理が必要でしょうか?

例)
https://tamago/〇〇〇〇」 → 「https://tamago/tamago.php?get=〇〇〇〇」

具体例)
https://tamago/1234」 → 「https://tamago/tamago.php?get=1234」
https://tamago/9999」 → 「https://tamago/tamago.php?get=9999」

というような、〇〇〇〇の部分が動的に変わる場合のリダイレクト方法が知りたいのです。何卒宜しくお願い致します。

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

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

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

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

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

CHERRY

2022/07/29 21:34

どのように変わるのでしょうか? 同じ形式であれば、全てリダイレクトですか? 異なる場合は、いくつか例を記載していただけないでしょうか。
ulluegg

2022/07/29 21:55

同じ形式というのが少しよく分かりませんが、〇〇〇〇の数値によってページ内の内容が変わるページです。 「https://tamago/〇〇〇〇」 と「https://フォルダ/〇〇〇〇」とフォルダから伸びていた数値をhttps://tamago/tamago.php?get=〇〇〇〇」 と「https://フォルダ/ページphpのゲット通信に〇〇〇〇」という形式に変更したいのです。 ですので引っ越し前には「https://tamago/〇〇〇〇」というアドレスだったところ (〇〇〇〇には大量の数値が入ります)、「https://tamago/tamago.php?get=〇〇〇〇」 というアドレスに飛ぶようにしたいです。
guest

回答1

0

ベストアンサー

「動的」という言葉を間違って使っていると思いますが。

○○○の部分には/が含まれないという事ですかね?

Apache

1RewriteEngine On 2RewriteRule ^([^/]*)$ /tamago.php?get=$1 [R=301,L]

投稿2022/07/30 06:42

otn

総合スコア84538

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

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

otn

2022/07/30 07:07

ピリオドも含まないことが条件なら、([^/.]) にしましょう。
ulluegg

2022/07/30 07:20

解答ありがとうございます。試しにhtaccessに 「RewriteEngine On RewriteRule ^([^/.])$ /tamag.php?get=$1 [R=301,L]」 で試してみましたが404エラーで失敗してしまいます。
CHERRY

2022/07/30 08:46

横からですが... 「 ^([^/.])$ 」のばあいは、一致条件が「 / と . 以外の1文字」になると思います。 0 文字以上の 「 * 」 が抜けているようです。
otn

2022/07/30 12:42

ピリオドを追加して、なぜアスタリスクが抜けたのか??
ulluegg

2022/07/30 23:29

CHERRYさんも回答ありがとうございます。 『RewriteEngine On RewriteRule ^([^/]*.)$ /tamago.php?get=$1 [R=301,L]』 ということではないですよね?上記で試してみたら https://×××.com/tamago.php?get=tamago.php にリダイレクトされて、やはりファイルがないといわれてしまいます。お二方にはご迷惑をおかけしてしまい申し訳ありません。
otn

2022/07/31 14:30 編集

失礼しました。わたしのコメントにタイプ漏れがありましたね。 質問文中の ([^/]*) を ([^/.]*) に変えます。 そもそも回答のままでは駄目だったんでしょうか?
ulluegg

2022/08/01 03:18 編集

>otn様&CHERRY様 度重なる回答ありがとうございます。皆さんの助言により RewriteEngine On RewriteRule ^([^/.]*)$ /tamago/tamago.php?get=$1 [R=301,L] にすることで無事目的のURLに転送してくれるようになりました! 本当にありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問