Preusmjerite WordPress u zaglavlju
Korištenje električnih romobila ističe dodatak za preusmjeravanje izgrađen za WordPress fantastično je sredstvo za organiziranje i upravljanje preusmjeravanjima. Koristim ga na ovoj stranici i organizirao sam svoje grupe preusmjeravanja za ažurirane postove, pridružene linkove, preuzimanja itd.
Međutim, naišao sam na jedinstveni problem kada imam obrnuti proxy postavljen za klijenta gdje WordPress radi na putu ... ali ne i na korijenu web mjesta. Primarno web mjesto je pokrenuto na IIS u Azureu. IIS može upravljati preusmjeravanjima baš kao što to može i svaki web poslužitelj, ali problem je u tome što bi ovaj klijent trebao staviti upravljanje preusmjeravanjem u svoj razvojni proces - i već je zauzet.
U pitanju je da tipično preusmjeravanje u stilu .htaccess ne postoji mogućnost ... preusmjeravanja moramo zapravo napisati u PHP-u. Kao rješenje preusmjeravamo zahtjeve na WordPress kako bismo utvrdili postoje li preusmjeravanja na starim stazama.
Unutar header.php datoteku naše podređene teme, imamo funkciju:
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;
}
}
Nismo se zamarali stavljanjem funkcije u functions.php jednostavno zato što bi to utjecalo samo na datoteku zaglavlja. Zatim, unutar datoteke header.php, jednostavno imamo popis svih preusmjeravanja:
my_redirect('lesson_plans', 'lesson-plan');
my_redirect('resources/lesson-plans/26351', 'lesson-plan/tints-and-shades');
my_redirect('about/about', 'about/company/');
Pomoću te funkcije također možete odrediti na koju vrstu preusmjeravanja želite postaviti zahtjev za zaglavlje, upravo smo ga zadali na preusmjeravanje 301, tako da će ga tražilice uvažiti.