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

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

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

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

サーバ

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

480閲覧

htaccessのリダイレクトでクエリ文字を含む場合のリダイレクトについて

kansay

総合スコア12

リダイレクト

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

サーバ

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2018/07/02 08:09

編集2018/07/02 08:35

表題の件につきまして、
自分なりに色々と調べたのですが
htaccessに不慣れで分からなかったため、
お知恵をお借りできれば思い、
投稿させていただきます。

環境は、Apacheのサーバーで、
・RewriteRule
・RewriteCond
を使用して出来ればと考えております。

実現したいことは、htaccessでクエリ文字を含むURLからクエリ文字を含むURLへの
301リダイレクトです。

・元のURL
http://www.example.com/news/article.php?p=1234

・リダイレクト先のURL
https://www.example.com/news/1234/

上記のようなリダイレクトのサンプルは色々のサイトにあったのですが、
今回、実現したいのは下記のようなクエリ文字を含むURLからクエリ文字を含むURLへの
リダイレクトとなります。
また、リダイレクト元とリダイレクト先のクエリ文字に規則性はなく、
決め打ちの値で一つ一つ設定する予定です。

・元のURL
http://www.example.com/news/article.php?p=1234

・リダイレクト先のURL
http://www.example.com/info/news.php?post=20180101

上記のような両方のURLに異なるクエリ文字を持っているURLのリダイレクトの場合、
どのように設定を行えばよろしいのでしょうか?
恐れ入りますが、
上記の内容につきましてご教示いただければ幸いです

恐れ入りますが、
何卒よろしくお願い申し上げます。

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

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

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

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

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

m.ts10806

2018/07/02 08:12

1234→20180101 これはどういう規則を以て変化しているのでしょうか。
kansay

2018/07/02 08:31

ありがとうございます。基本的にクエリ文字に規則性は無く、決まっている値になるので、そこら辺は手作業で一つ一つ設定していく予定です。よろしくお願い申し上げます。
m.ts10806

2018/07/02 08:35

article.php→news.phpというのは決まっているのでしょうか。さすがに何も規則性なしでは厳しいと思います(もうそれかPHPなどサーバー側のプログラムで処理してしまうか)
kansay

2018/07/02 09:23

度々ありがとうございます。ご質問いだだいておりました、article.php→news.phpの部分についてはそれぞれ決まった固定のURLで置き換える予定です。よろしくお願い申し上げます。
guest

回答1

0

ベストアンサー

Apache

1RewriteEngine On 2RewriteCond %{QUERY_STRING} ^p=1234$ 3RewriteRule ^news/article.php$ /info/news.php?post=20180101 [R=301]

Apacheの機能でやるより、article.phpで受けて、プログラムからリダイレクトを行う方が良いと思います。

投稿2018/07/02 11:57

otn

総合スコア84491

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

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

kansay

2018/07/03 11:07

ご回答いただきありがとうございます。 リダイレクト先のURLのクエリ文字は気にせずそのまま指定しちゃって良いんですね! サーバーやプログラムの知識が少ないため、phpでの処理等は見送り地道にリダイレクトを追加していきたいと思います。 お教えいただき、本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問