自動リダイレクトを防ぐ方法は?


16

Wordpressには、誤って記述されていると思われる場合にURLを自動的にリダイレクトする機能があります。例は次のとおりです。my-page

私が行く場合:

www.mysite.com/something/my-page/

すぐに私をリダイレクトします

www.mysite.com/my-page/

最初のURLには何も存在しないため。

この機能をオフにするにはどうすればよいですか?間違ったURLが入力された場合に代わりに404を取得するだけですか?


何が起こっているかを見ると(HttpFox、WireShark、または同様のパケットスニファーを介して)、これらのページは301ステータス(永続的に移動)でリダイレクトします。これは適切な動作です。検索エンジンがデータベースを最新の状態に保つのに役立ち、リダイレクトはユーザーがページを見つけるのに役立ちます。これは、実際にページを移動したりパーマリンクを変更したときにWordPressが物事を処理する方法に影響を与える可能性があるため、注意してください。とにかく、あなたの選択が、私はそれが良いアイデアであるかどうかわかりません。
s_ha_dum

私はそれが良いことだと知っています、私はそれを理解しています。ただし、その動作を必要としない特定のユースケースがあります。URLリダイレクトを処理するプラグインを開発しているので、その動作をオーバーライドしたいです。
マザテック

ここでは、より正しい答えである:リンクは
Binod - GoFundMonica

回答:


23

これは私のために働いた:

remove_action('template_redirect', 'redirect_canonical');

それが何をするのかを教えてもらえますか?正規リダイレクトとは何ですか?私はワードプレスが
初めて

あなたはちょうど私に多くの頭痛を救いました!ありがとうございました !:-D-
ジェンスキー

1
これらのリダイレクトを1つずつ削除できるように、これらのリダイレクトを確認できる場所はありませんか?
シェーンジョーンズ

これは素晴らしい。wp-adminこれを使用した後にまだリダイレクトされている理由を知っていますか?
-Gezim


5

Ashが提案したように、次のコードを使用して機能をオフにできます。

remove_action('template_redirect', 'redirect_canonical');

canonical.phpのredirect_canonical関数を見ると、独自のフィルターで動作を変更することもできます。

redirect_canonical()関数の最後に、最終回答をフィルタリングする呼び出しがあります。

$redirect_url = apply_filters( 'redirect_canonical', $redirect_url, $requested_url );

したがって、入力に基づいて独自のフィルターを作成して最終リダイレクトを変更するか、nullを返してリダイレクトを停止し、特定のURLまたはURLのサブセットの機能をオフにすることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.