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