Új tartományi reguláris kifejezés (Regex) átirányítások a WordPress szolgáltatásban
Az elmúlt hetekben segítettünk egy ügyfelet a WordPress komplex áttelepítésében. Az ügyfélnek két terméke volt, mindkettő olyan népszerűvé vált, hogy el kellett különíteniük a vállalkozásokat, a márkanevet és a tartalmat domainek elkülönítésére. Ez elég vállalkozás!
Meglévő domainjük továbbra is helyben marad, de az új domain minden tartalmát meg fogja jeleníteni 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 rá, 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 karaktersorozattal 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ítja át sehova! Tehát előfordulhat, hogy kísértésbe hozza azt egy reguláris kifejezéssé, és helyettesítő karaktert adjon az URL-hez:
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!