Omliede WordPress yn koptekst
De trochferwizings plugin boud foar WordPress is in fantastysk middel foar it organisearjen en behearen fan trochferwizings. Ik brûk it op dizze side en haw myn groepen trochferwizings organisearre foar bywurke berjochten, oansletten keppelings, downloads, ensfh.
Ik rûn lykwols op in unyk probleem wêr't ik in reverse proxy ynstelle foar in kliïnt wêr't WordPress op in paad draait ... mar net de root fan 'e side. De primêre side rint op IIS yn Azure. IIS kin trochferwizings beheare lykas elke webserver kin, mar it probleem is dat dizze kliïnt omlaatbehear yn har ûntwikkelingsproses moat pleatse - en se binne al drok dwaande.
It giet derom dat in trochferwizing fan .htaccess-styl gjin mooglikheid is ... wy moatte de trochferwizings eins skriuwe yn PHP. As oplossing stjoere wy de fersiken nei WordPress om te identifisearjen as d'r trochferwizings binne op âlde paden.
binnen de header.php bestân fan ús bernetema, hawwe wy in funksje:
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;
}
}
Wy hawwe it net dreech om de funksje yn funksjes.php te setten gewoan om't it allinich ynfloed hat op it koptekstbestân. Dan, binnen it header.php-bestân, hawwe wy gewoan in list mei alle trochferwizings:
my_redirect('lesson_plans', 'lesson-plan');
my_redirect('resources/lesson-plans/26351', 'lesson-plan/tints-and-shades');
my_redirect('about/about', 'about/company/');
Mei dy funksje kinne jo ek oantsjutte op hokker type trochferwizing jo it koptekstel wolle ynstelle, wy hawwe it krekt standert op in 301 trochferwizing, sadat de sykmasjines it earje.