The qayta yo'naltirish plagini WordPress uchun qurilgan - bu yo'naltirishlarni boshqarish va boshqarish uchun ajoyib vosita. Men uni ushbu saytda ishlataman va yangilangan xabarlar, sheriklik havolalari, yuklab olishlar va h.k.lar uchun yo'naltiruvchi guruhlarimni tashkil qildim.
Biroq, men WordPress-ning yo'lida ishlaydigan mijoz uchun teskari proksi-serverni o'rnatgan noyob muammoga duch keldim ... lekin saytning ildizi emas. Asosiy sayt Azure-da IIS-da ishlaydi. IIS har qanday veb-server kabi yo'naltirishlarni boshqarishi mumkin, ammo muammo shundaki, ushbu mijoz yo'naltirish boshqaruvini ishlab chiqish jarayonida kiritishi kerak - va ular allaqachon banddirlar.
Muammo shundaki, odatdagi .htaccess uslubini qayta yo'naltirish mumkin emas ... biz PHP-da qayta yo'naltirishlarni yozishimiz kerak. Ushbu echim sifatida biz eski yo'llarda qayta yo'naltirishlar mavjudligini aniqlash uchun so'rovlarni WordPress-ga yo'naltiramiz.
ichida header.php bizning farzandimiz mavzusidagi fayl, bizda quyidagilar mavjud:
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;
}
}
Biz funktsiyani function.php-ga qo'yishni bezovta qilmadik, chunki bu faqat sarlavha fayliga ta'sir qiladi. Keyin, header.php fayli ichida bizda barcha qayta yo'naltirishlar ro'yxati mavjud:
my_redirect('lesson_plans', 'lesson-plan');
my_redirect('resources/lesson-plans/26351', 'lesson-plan/tints-and-shades');
my_redirect('about/about', 'about/company/');
Ushbu funktsiya yordamida siz sarlavha so'rovini qaysi yo'naltirishga o'rnatishni xohlayotganingizni ham belgilashingiz mumkin, biz uni faqat 301 yo'naltirishga o'rnatdik, shunda qidiruv tizimlari uni hurmat qilishadi.