Перанакіраванне WordPress у загаловак

Перанакіраванне загалоўка WordPress

,en убудова для перанакіравання пабудаваны для 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 для барацьбы са спамам. Даведайцеся, як дадзеныя апрацоўваюцца каментар.