WordPress di Header de beralî bike
Ew nûvekirina pêvek ji bo WordPress-ê hatî çêkirin wateyek fantastîk a rêxistin û birêvebirina beralîkirinan e. Ez wê li ser vê malperê bikar tînim û komên xwe yên beralîkirinan ji bo mesajên nûvekirî, girêdanên parmendî, dakêşandin û hwd.
Lêbelê, ez ketim pirsgirêkek bêhempa ku li vir proxyek berevajî ya ku ji bo kiriyarek ku WordPress di rê de dimeşe sazkirî ye ... lê ne koka malperê. Malpera bingehîn li Azure li IIS dixebite. IIS dikare beralîkirinan birêve bibe wekî ku her serverek malperê dikare, lê pirsgirêk ev e ku ev xerîdar hewce dike ku rêveberiya beralîkirinê têxe nav pêvajoya geşedana xwe - û ew jixwe mijûl in.
Pirsgirêk ev e ku veguherînek şêwazek .htaccess-a tîpîk ne gengaz e… divê em bi rastî beralîkirinan di PHP-ê de binivîsin. Wekî çareseriyek, em daxwazên WordPress-ê rê dikin da ku nas bikin ka li ser rêyên kevn beralîkirin hene.
di nava header.php pelê mijara zarokê me, fonksiyonek me heye:
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;
}
}
Me tengahî neda ku fonksiyonê li fonksiyonan.php bihêlin tenê ji ber ku ew ê tenê li pelê sernavê bandor bike. Dûv re, di nav pelê header.php de, bi tenê me navnîşek hemî beralîkirinan heye:
my_redirect('lesson_plans', 'lesson-plan');
my_redirect('resources/lesson-plans/26351', 'lesson-plan/tints-and-shades');
my_redirect('about/about', 'about/company/');
Bi wê fonksiyonê, hûn dikarin diyar bikin ka kîjan rengê beralîkirinê hûn dixwazin daxwaziya sernavê saz bikin, me tenê ew wekî beralîkirina 301 veneguhest, da ku motorên lêgerînê rûmetê bidin wê.