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

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

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

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

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

リダイレクト

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

Q&A

解決済

1回答

1019閲覧

クエリ付きのURLをトップページにリイダイレクトさせたい

umioyo

総合スコア29

Apache

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

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

リダイレクト

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

0グッド

0クリップ

投稿2019/04/02 10:24

前提・実現したいこと

WordPressでサイトをリニューアルしましたが、運用前に別のCMSで運用しており、その際に
index.php?トップページ
index.php?製品ページ
のようなクエリ付きのURLを発行していたため、WordPressへリニューアル後もそのURLでのアクセスがあり、無限ループが発生してGoogleのSearchConsoleからお叱りを受けております。
リダイレクトする際に、?以降のクエリを省くように.htaccessに設定すればよいのではないかと考えております。

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

・飛んでくるURL例
https://www.・・・.jp/?%E3%82%B5%E3%82%A4%E3%83%88%E3%83%9D%E3%83%AA%E3%82%B7%E3%83%BC
もしくは
https://www.・・・.jp/index.php?%E3%82%B5%E3%82%A4%E3%83%88%E3%83%9D%E3%83%AA%E3%82%B7%E3%83%BC
でアクセスすると、Chromeの場合は

このページは動作していません www.・・・.jp でリダイレクトが繰り返し行われました。
Cookie を消去してみてください.
ERR_TOO_MANY_REDIRECTS

と表示されます。

現状の.htaccess

普通のWordPressの.htaccessです。

# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress

試したこと

そもそもあまりリダイレクトの書式を理解してないのですが、他のサイトを見て

RewriteRule ^index.php(.*)$ /$1? [R=301,L]


</IfModule>
の上に追加してみましたが、現象は一緒でした。

リダイレクトが起きなければ?以降を削除する方法でなくても結構です。

どうぞよろしくお願いいたします。

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

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

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

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

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

otn

2019/04/02 12:36

どういう入力に対して、どういう結果を得たいのかを明確に書いてください。
umioyo

2019/04/03 02:24

わかりにくくて申し訳ありません。 通常のWordPressサイトでもそうなのですが、 https://www.・・・.com/?トップ https://www.・・・.com/index.php?トップ でアクセスされるとリダイレクトがループしてしまいます。 それを、ループせずにトップページを表示する方法を知りたいです。 よろしくお願いいたします。
otn

2019/04/03 07:31 編集

どういう結果を得たいのかを明確に書いてください。言葉じゃなくてURLで。
guest

回答1

0

ベストアンサー

クエリー部分が空でなければ、/ にと言うことなら、

Apache

1RewriteEngine On 2RewriteBase / 3 4RewriteCond %{QUERY_STRING} !^$ 5RewriteRule ^$ /? [R=301,L] 6RewriteCond %{QUERY_STRING} !^$ 7RewriteRule ^index.php$ /? [R=301,L] 8 9RewriteRule ^index.php$ - [L] 10RewriteCond %{REQUEST_FILENAME} !-f 11RewriteCond %{REQUEST_FILENAME} !-d 12RewriteRule . /index.php [L]

投稿2019/04/03 14:08

otn

総合スコア84423

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

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

umioyo

2019/04/04 04:28

ありがとうございます。 無事解決いたしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問