I-redirect ang WordPress sa Header

Pag-redirect ng Header ng WordPress

Ang plugin ng pag-redirect ang built for WordPress ay isang kamangha-manghang paraan ng pag-aayos at pamamahala ng mga pag-redirect. Ginagamit ko ito sa site na ito at inayos ang aking mga pangkat ng pag-redirect para sa na-update na mga post, mga link ng kaakibat, mga pag-download, atbp.

Gayunpaman, naranasan ko ang isang natatanging problema kung saan mayroon akong isang naka-set up na proxy para sa isang kliyente kung saan tumatakbo ang WordPress sa isang landas ... ngunit hindi ang ugat ng site. Ang pangunahing site ay tumatakbo sa IIS sa Azure. Maaaring pamahalaan ng IIS ang mga pag-redirect tulad ng anumang maaaring gawin ng web server, ngunit ang problema ay kakailanganin ng kliyente na ilagay ang pamamahala sa pag-redirect sa proseso ng kanilang pag-unlad - at abala na sila.

Sa isyu ay ang isang tipikal na pag-redirect ng istilong .htaccess ay hindi isang posibilidad ... kailangan naming talagang isulat ang mga pag-redirect sa PHP. Bilang isang solusyon, inilalagay namin ang mga kahilingan sa WordPress upang makilala kung mayroong anumang mga pag-redirect sa mga lumang landas.

Sa loob ng header.php file ng aming tema ng bata, mayroon kaming isang pag-andar:

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;
	}
}

Hindi kami nag-abala sa paglalagay ng pagpapaandar sa mga function.php nang simple dahil nakakaapekto lang ito sa file ng header. Pagkatapos, sa loob ng file ng header.php, mayroon lamang kaming isang listahan ng lahat ng mga pag-redirect.

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

Sa pagpapaandar na iyon, maaari mo ring tukuyin kung anong uri ng pag-redirect ang nais mong itakda sa hiling ng header, na-default lang namin ito sa isang 301 na pag-redirect upang igalang ito ng mga search engine.

Ano sa tingin ninyo?

Ang site na ito ay gumagamit ng Akismet upang mabawasan ang spam. Alamin kung paano naproseso ang data ng iyong komento.