Új tartományi reguláris kifejezés (Regex) átirányítások a WordPress szolgáltatásban

Regex - reguláris kifejezések

Az elmúlt hetekben segítettünk egy ügyfelet a WordPress komplex migrációjában. Az ügyfélnek két terméke volt, mindkettő olyan népszerűvé vált, hogy szét kellett osztaniuk a vállalkozásokat, a márkanevet és a tartalmat, külön domainekre. Ez elég vállalkozás!

Meglévő domainjük továbbra is helyben marad, de az új domainnek minden tartalma megtalálható lesz a termékkel kapcsolatban: képekből, bejegyzésekből, esettanulmányokból, letöltésekből, űrlapokból, tudásbázisból stb. egyetlen eszköz hiányzik.

Miután az új telephely a helyén volt és működőképes, eljött az ideje, hogy meghúzza a kapcsolót és életbe léptesse. Ez azt jelentette, hogy az elsődleges webhely minden, a termékhez tartozó URL-jét át kellett irányítani az új domainbe. A legtöbb utat egységesen tartottuk a helyek között, ezért kulcsfontosságú volt az átirányítások megfelelő beállítása.

Átirányítja a beépülő modulokat a WordPress programban

Két népszerű plugin áll rendelkezésre, amelyek nagyszerű munkát végeznek az átirányítások kezelésében a WordPress segítségével:

  • Átirányítás - a legjobb plugin a piacon, rendszeres kifejezés képességekkel, sőt kategóriákkal az átirányítások kezeléséhez.
  • Rankmath SEO - ez a könnyű SEO plugin egy kis friss levegőt kínál, és felsorolja azokat A legjobb WordPress bővítmények a piacon. Felajánlása részeként átirányításokat tartalmaz, és ha áttér arra, akkor is importálja az átirányítás adatait.

Ha olyan Managed WordPress Hosting motort használ, mint a WPEngine, van egy moduljuk az átirányítások kezelésére, mielőtt a felhasználó valaha is eljutna az Ön webhelyére ... egy nagyon jó szolgáltatás, amely csökkentheti a késleltetést és a rezsiköltséget a tárhelyén.

És természetesen lehet írjon átirányítási szabályokat a .htaccess fájlba a WordPress szerveren ... de nem ajánlanám. Egy szintaktikai hiba van attól, hogy elérhetetlenné tegye webhelyét!

Regex átirányítás létrehozása

A fenti példában egyszerűnek tűnhet egy tipikus átirányítás egy almappából az új tartományba és almappába:

Source: /product-a/
Destination: https://newdomain.com/product-a/

Ennek ellenére van egy probléma. Mi van, ha olyan linkeket és kampányokat terjesztett, amelyek lekérdezési karaktersorral rendelkeznek a kampány nyomon követéséhez vagy hivatkozásokhoz? Ezek az oldalak nem fognak megfelelően átirányítani. Az URL valószínűleg:

https://existingdomain.com/product-a/?utm_source=newsletter

Mivel pontos egyezést írt, ez az URL nem irányít sehova! Tehát előfordulhat, hogy kísértésbe hozza azt egy reguláris kifejezéssé, és vegyen helyettesítő karaktert az URL-be:

Source: /product-a/(.*)
Destination: https://newdomain.com/product-a/

Ez nagyon jó, de még mindig van néhány probléma. Először minden URL-hez illeszkedik / product-a / benne, és átirányítja mindet ugyanarra a célra. Tehát ezek az utak ugyanarra a célra irányulnak át.

https://existingdomain.com/product-a/
https://existingdomain.com/help/product-a/
https://existingdomain.com/category/parent/product-a/

A reguláris kifejezések mégis gyönyörű eszköz. Először frissítheti a forrást, hogy megbizonyosodjon a mappaszint azonosításáról.

Source: ^/product-a/(.*)
Destination: https://newdomain.com/product-a/

Ez biztosítja, hogy csak az elsődleges mappa szintje irányítsa át megfelelően. Most a második problémáról van szó: hogyan fogod megszerezni a lekérdezési karakterláncot az új webhelyen, ha az átirányítás nem tartalmazza? Nos, a reguláris kifejezések erre is remek megoldást kínálnak:

Source: ^/product-a/(.*)
Destination: https://newdomain.com/product-a/$1

A helyettesítő karakterek a változó segítségével ténylegesen rögzítik és a célhoz csatolják. Így…

https://existingdomain.com/product-a/?utm_source=newsletter

Megfelelően átirányítja:

https://newdomain.com/product-a/?utm_source=newsletter

Ne feledje, hogy a helyettesítő karakter lehetővé teszi az almappák átirányítását is, így ez is engedélyezve lesz:

https://existingdomain.com/product-a/features/?utm_source=newsletter

Átirányít:

https://newdomain.com/product-a/features/?utm_source=newsletter

Természetesen a reguláris kifejezések ennél sokkal bonyolultabbá válhatnak ... de csak egy gyors mintát akartam adni arról, hogyan állítsunk be helyettesítő karakteres regex átirányítást, amely mindent tisztán átad egy új tartománynak!

Mit gondolsz?

Ez az oldal Akismet-et használ a levélszemét csökkentése érdekében. Ismerje meg, hogyan dolgozik a megjegyzésed.