Перенаправить WordPress в заголовок

Перенаправление заголовка WordPress

Освободи Себя плагин перенаправления Создан для WordPress - это фантастическое средство для организации переадресации и управления ею. Я использую его на этом сайте и организовал группы переадресации для обновленных сообщений, партнерских ссылок, загрузок и т. Д.

Однако я столкнулся с уникальной проблемой, когда у меня был настроен обратный прокси-сервер для клиента, где WordPress работает по пути… но не в корне сайта. Первичный сайт работает на IIS в Azure. IIS может управлять переадресацией так же, как любой веб-сервер, но проблема в том, что этому клиенту нужно будет включить управление переадресацией в свой процесс разработки - а они уже заняты.

Проблема в том, что типичное перенаправление в стиле .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 для уменьшения количества спама. Узнайте, как обрабатываются ваши данные комментариев.