ヘッダーでWordPressをリダイレクトする

WordPressヘッダーリダイレクト

  リダイレクトプラグイン WordPress用に構築されたものは、リダイレクトを整理および管理するための素晴らしい手段です。 私はこのサイトでそれを使用し、更新された投稿、アフィリエイトリンク、ダウンロードなどのリダイレクトのグループを編成しました。

しかし、WordPressがパスで実行されているクライアントにリバースプロキシを設定しているという独特の問題に遭遇しましたが、サイトのルートではありません。 プライマリサイトは、AzureのIISで実行されています。 IISは、他のWebサーバーと同じようにリダイレクトを管理できますが、問題は、このクライアントがリダイレクト管理を開発プロセスに組み込む必要があり、すでにビジー状態になっていることです。

問題は、典型的な.htaccessスタイルのリダイレクトが不可能であるということです…実際にリダイレクトをPHPで作成する必要があります。 解決策として、リクエストをWordPressにルーティングして、古いパスにリダイレクトがあるかどうかを識別します。

以内 header.phpの 子テーマのファイルには、次の関数があります。

function my_redirect ($oldlink, $newlink, $redirecttype = 301) {
	$olduri = $_SERVER['REQUEST_URI'];
	if(strpos($olduri, $oldlink) !== false) {
		$newuri = str_replace($oldlink, $newlink, $olduri);
		wp_redirect( $newuri, $redirecttype );
		exit;
	}
}

ヘッダーファイルにのみ影響を与えるという理由だけで、functions.phpに関数を配置する必要はありませんでした。 次に、header.phpファイル内に、すべてのリダイレクトのリストがあります。

my_redirect('lesson_plans', 'lesson-plan');
my_redirect('resources/lesson-plans/26351', 'lesson-plan/tints-and-shades');
my_redirect('about/about', 'about/company/');

この関数を使用すると、ヘッダーリクエストを設定するリダイレクトのタイプを指定することもできます。検索エンジンがそれを尊重するように、デフォルトで301リダイレクトに設定しました。

どう思いますか?

このサイトはAkismetを使用して迷惑メールを減らします。 コメントの処理方法を学ぶ.