Alihkan WordPress di Header

Pengalihan Header WordPress

The plugin pengalihan dibangun untuk WordPress adalah cara fantastis untuk mengatur dan mengelola pengalihan. Saya menggunakannya di situs ini dan telah mengatur grup pengalihan saya untuk posting yang diperbarui, tautan afiliasi, unduhan, dll.

Namun, saya mengalami masalah unik di mana saya memiliki proxy terbalik yang disiapkan untuk klien di mana WordPress berjalan di jalur ... tetapi bukan root situs. Situs utama berjalan di IIS di Azure. IIS dapat mengelola pengalihan sama seperti server web mana pun, tetapi masalahnya adalah klien ini perlu menempatkan manajemen pengalihan ke dalam proses pengembangan mereka - dan mereka sudah sibuk.

Masalahnya adalah bahwa pengalihan gaya .htaccess biasa tidak memungkinkan… kita harus benar-benar menulis pengalihan dalam PHP. Sebagai solusinya, kami mengarahkan permintaan ke WordPress untuk mengidentifikasi apakah ada pengalihan di jalur lama.

Dalam header.php file tema anak kami, kami memiliki 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 repot-repot meletakkan fungsi di functions.php hanya karena itu hanya akan memengaruhi file header. Kemudian, di dalam file header.php, kami hanya memiliki daftar 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 apa yang ingin Anda setel permintaan tajuknya, kami baru saja menetapkannya secara default ke pengalihan 301 sehingga mesin telusur akan menghormatinya.

Bagaimana menurut Anda?

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.