Ohjaa WordPress otsikossa

WordPress Header Redirect

- uudelleenohjauslaajennus WordPressille rakennettu on loistava tapa järjestää ja hallita uudelleenohjauksia. Käytän sitä tällä sivustolla ja olen järjestänyt ryhmät uudelleenohjauksia päivitettyjä viestejä, tytäryhtiölinkkejä, latauksia jne. Varten

Olen kuitenkin törmännyt ainutlaatuiseen ongelmaan, jossa minulla on asetettu käänteinen välityspalvelin asiakkaalle, jossa WordPress on käynnissä polulla ... mutta ei sivuston juurta. Ensisijainen sivusto on käynnissä IIS: llä Azuressa. IIS pystyy hallitsemaan uudelleenohjauksia aivan kuten kaikki verkkopalvelimetkin, mutta ongelmana on, että tämän asiakkaan on lisättävä uudelleenohjaus kehitysprosessiinsa - ja he ovat jo kiireisiä.

Kyse on siitä, että tyypillinen .htaccess-tyylinen uudelleenohjaus ei ole mahdollista ... meidän on itse kirjoitettava uudelleenohjaukset PHP: hen. Ratkaisuna reititämme pyynnöt WordPressiin tunnistamaan, onko vanhoilla poluilla uudelleenohjauksia.

Sisällä header.php tiedosto lapsiteemastamme, meillä on toiminto:

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;
	}
}

Emme vaivaudu asettamaan funktiota function.php-tiedostoon yksinkertaisesti siksi, että se vaikuttaisi vain otsikkotiedostoon. Sitten header.php-tiedostossa meillä on yksinkertaisesti luettelo kaikista uudelleenohjauksista:

my_redirect('lesson_plans', 'lesson-plan');
my_redirect('resources/lesson-plans/26351', 'lesson-plan/tints-and-shades');
my_redirect('about/about', 'about/company/');

Tällä toiminnolla voit myös määrittää minkä tyyppiselle uudelleenohjaukselle haluat asettaa otsikkopyynnön, olemme vain oletusarvoisesti 301-uudelleenohjauksen, jotta hakukoneet kunnioittavat sitä.

Mitä mieltä olet?

Tämä sivusto käyttää Akismetiä roskapostin vähentämiseksi. Lue, miten kommenttitietosi käsitellään.