Jauna domēna regulārās izteiksmes (Regex) novirzīšana programmā WordPress

Regex - regulārās izteiksmes

Pēdējo nedēļu laikā mēs palīdzējām klientam veikt sarežģītu migrāciju ar WordPress. Klientam bija divi produkti, no kuriem abi ir kļuvuši populāri līdz tādam līmenim, ka viņiem bija jāsadala uzņēmumi, zīmolraksts un saturs atsevišķās jomās. Tas ir diezgan apņemšanās!

Viņu esošais domēns paliek nemainīgs, taču jaunajā domēnā būs viss saturs attiecībā uz šo produktu ... sākot ar attēliem, ierakstiem, gadījumu izpēti, lejupielādēm, veidlapām, zināšanu bāzi utt. Mēs veicām revīziju un pārmeklējām vietni, lai pārliecinātos, ka nevēlamies nepalaid garām vienu aktīvu.

Kad jaunā vietne bija izveidota un darbojās, bija pienācis laiks slēdzi izvilkt un nodot dzīvībai. Tas nozīmēja, ka visi galvenās vietnes URL, kas piederēja šim produktam, bija jānovirza uz jauno domēnu. Starp vietnēm mēs saglabājām lielāko daļu ceļu, tāpēc galvenais bija pareizi iestatīt novirzīšanu.

Pāradresēt spraudņus programmā WordPress

Ir pieejami divi populāri spraudņi, kas lieliski palīdz pārvaldīt novirzīšanu ar WordPress:

  • Pārsūtīšana - iespējams, labākais spraudnis tirgū ar regulāras izteiksmes iespējām un pat kategorijām novirzījumu pārvaldīšanai.
  • Rankmath SEO - Šis vieglais SEO spraudnis ir svaiga gaisa elpa, un tas veido manu sarakstu Labākie WordPress spraudņi tirgū. Piedāvājuma ietvaros tam ir novirzīšanas gadījumi, un, ja jūs migrēsit uz to, tas pat importēs novirzīšanas datus.

Ja izmantojat pārvaldītu WordPress Hosting dzinēju, piemēram, WPEngine, viņiem ir modulis pāradresāciju apstrādei, pirms persona kādreiz nonāk jūsu vietnē ... diezgan jauka funkcija, kas var samazināt jūsu mitināšanas latentumu un pieskaitāmās izmaksas.

Un, protams, jūs varat ierakstiet novirzīšanas kārtulas savā .htaccess failā uz jūsu WordPress servera ... bet es to neieteiktu. Jums ir tikai viena sintakses kļūda, lai jūsu vietne nebūtu pieejama.

Kā izveidot regex novirzīšanu

Iepriekš sniegtajā piemērā var šķist vienkārši veikt tipisku novirzīšanu no apakšmapes uz jauno domēnu un apakšmapi:

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

Tomēr ar to ir problēma. Ko darīt, ja jums ir izplatītas saites un kampaņas, kurām ir vaicājumu virkne kampaņu izsekošanai vai novirzīšanai? Šīs lapas netiks pareizi novirzītas. Varbūt URL ir šāds:

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

Tā kā jūs rakstījāt precīzu atbilstību, šis URL nekur netiks novirzīts! Tātad jums var rasties kārdinājums padarīt to par regulāru izteiksmi un vietrādim URL pievienot aizstājējzīmi:

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

Tas ir diezgan labi, taču joprojām ir pāris problēmas. Pirmkārt, tas atbilst jebkuram URL ar / produkts-a / tajā un novirzīt tos visus uz vienu un to pašu galamērķi. Tātad visi šie ceļi tiks novirzīti uz to pašu galamērķi.

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

Regulārās izteiksmes tomēr ir skaists rīks. Pirmkārt, varat atjaunināt avotu, lai pārliecinātos, ka tiek identificēts mapes līmenis.

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

Tas nodrošinās, ka tikai primārā mapes līmenis tiks pareizi novirzīts. Tagad par otro problēmu ... kā jūs iegūsiet informāciju par vaicājumu virkni, kas iegūta jaunajā vietnē, ja jūsu novirzīšana to neietver? Arī parastajām izteiksmēm tam ir lielisks risinājums:

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

Aizstājējzīmes informācija faktiski tiek uztverta un pievienota galamērķim, izmantojot mainīgo. Tātad ...

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

Pareizi novirzīs uz:

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

Paturiet prātā, ka aizstājējzīme ļaus novirzīt arī jebkuru apakšmapi, tāpēc tas tiks iespējots arī:

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

Pāradresēs uz:

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

Protams, parastās izteiksmes var kļūt daudz sarežģītākas nekā šī ... bet es tikai gribēju sniegt ātru paraugu, kā izveidot aizstājējzīmju regex novirzīšanu, kas visu tīri nodod jaunam domēnam!

2 Komentāri

  1. 1

Ko jūs domājat?

Šī vietne izmanto Akismet, lai samazinātu surogātpastu. Uzziniet, kā tiek apstrādāts jūsu komentārs.