WordPress- ის გადამისამართება სათაურში
ის გადამისამართების მოდული WordPress– ისთვის აშენებული არის გადამისამართებების ორგანიზებისა და მართვის ფანტასტიკური საშუალება. მე მას ამ საიტზე ვიყენებ და ორგანიზებული მაქვს გადამისამართებების ჩემი ჯგუფები განახლებული შეტყობინებების, შვილობილი ბმულების, ჩამოტვირთვების და ა.შ.
ამასთან, უნიკალურ პრობლემას წავაწყდი, როდესაც მე მაქვს უკუპროსის შემქმნელი კლიენტისთვის, სადაც WordPress მუშაობს ბილიკზე path მაგრამ არა საიტის ფესვი. ძირითადი საიტი მუშაობს 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;
}
}
ჩვენ არ შეგვიწუხებია ფუნქციის ფუნქციონალური.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 გადამისამართებას, ასე რომ საძიებო სისტემებმა შეასრულებენ მას.