Ubah arah WordPress di Header

Pengalihan Header WordPress

. pemalam pengalihan dibina untuk WordPress adalah kaedah yang baik untuk mengatur dan menguruskan pengalihan. Saya menggunakannya di laman web ini dan telah mengatur kumpulan pengalihan saya untuk catatan yang dikemas kini, pautan afiliasi, muat turun, dll.

Walau bagaimanapun, saya menghadapi masalah yang unik di mana saya mempunyai proksi terbalik untuk pelanggan di mana WordPress berjalan di jalan… tetapi bukan akar laman web ini. Laman utama dijalankan di IIS di Azure. IIS dapat menguruskan pengalihan sama seperti pelayan web mana pun, tetapi masalahnya ialah pelanggan ini perlu memasukkan pengurusan pengalihan ke dalam proses pengembangan mereka - dan mereka sudah sibuk.

Masalahnya adalah bahawa pengalihan gaya .htaccess biasa bukan kemungkinan ... kita harus benar-benar menulis pengalihan dalam PHP. Sebagai jalan penyelesaian, kami mengarahkan permintaan ke WordPress untuk mengenal pasti jika ada pengalihan pada jalan lama.

Dalam header.php fail tema anak kami, kami mempunyai fungsi:

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

Kami tidak bersusah payah meletakkan fungsi tersebut di functions.php hanya kerana ia akan mempengaruhi file header. Kemudian, dalam fail header.php, kita hanya mempunyai senarai semua pengalihan:

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

Dengan fungsi itu, anda juga dapat menentukan jenis pengalihan yang ingin anda tetapkan permintaan pengepala, kami baru saja menetapkannya ke pengalihan 301 sehingga mesin pencari akan menghormatinya.

Apa yang anda fikir?

Laman web ini menggunakan Akismet untuk mengurangkan spam. Ketahui bagaimana data komen anda diproses.