Webes publikálásÁllapot: 2026-10
Linkek külön domaineken futó oldalak között
Hogyan marad egy sablonbeli link helyes a helyi előnézetben és élesben, ha a testvéroldalak külön domaineken futnak, és hogyan ellenőrizhető ez feltöltés előtt.
Kutatási kérdés: Hogyan lehet ugyanaz a sablonbeli link helyes a helyi előnézetben és élesben, ha az oldalak külön domaineken futnak, és hogyan ellenőrizhető ez feltöltés előtt?
Projektigény
Több oldal egy forrásból, közös menüvel, amely a testvéroldalakra is mutat. Kézzel írt linkeknél egy elírt domain vagy a http és https keveredése csak élesben derül ki.
Módszer és ellenőrzés
- Egyetlen sablonfüggvény, a link(domain, path), azonos domainen gyökérrelatív, más domainre abszolút https linket ad.
- A sablonok a konfigurált oldalakból építik a menüt, beégetett domain nélkül.
- Helyi előnézet: minden domain saját porton fut, így az oldalon belüli linkek helyben is működnek.
- Linkellenőrző a kész kimeneten: a konfigurált domainekre mutató linkeket a megfelelő helyi mappában oldja fel, a saját domainekre mutató http linket hibának jelzi, a külső linkeket kérésre HTTP-vel ellenőrzi.
- pytest a link-függvényre és az ellenőrző kilépési kódjára; a mintaoldalakon 0 hiba, a külső linkekkel együtt.
Eredmények
- A gyökérrelatív link mindig az aktuális domainre mutat, így az oldalon belüli navigáció helyben és élesben is működik.
- A testvéroldalra mutató abszolút link a helyi előnézetből az élő oldalra visz; ez szándékos, mert a sablon nem ismeri a helyi portot.
- A testvéroldal-linkek feltöltés előtt mégis ellenőrizhetők: az ellenőrző a domain alapján a helyi kimenetet nézi, nem a hálózatot.
- Mivel a menü a konfigurációból jön, egy új oldal felvétele egyetlen konfigurációs bejegyzés, sablonmódosítás nélkül.
Döntés
Egy link-függvény a sablonokban, a konfigurációból generált menü, és linkellenőrzés a kész kimeneten, amely a konfigurált domaineket helyben oldja fel.
Korlátok és nyitott kérdések
- A helyi előnézetben a testvéroldal-link az élő oldalt nyitja meg; teljesen helyi navigációhoz előnézeti URL-leképezés kellene.
- A linkellenőrző nem futtat JavaScriptet, így a szkriptből létrehozott linkeket nem látja.