Cum pot introduce un link intern care funcționează pentru diferite lungimi de cale și continuă să funcționeze atunci când îmi încarc site-ul pe serverul live?
Să zicem că am o pagină aici http://localhost/site1/web/page1 și vreau să creez un bloc în subsol care are un link către această pagină.
Dacă folosesc un link relativ (de ex. Pagina 1)
Va funcționa când voi fi pe această pagină...
http://localhost/site1/web/
Dar nu se va întâmpla dacă sunt pe o cale cu mai multe segmente, de exemplu...
http://localhost/site1/web/about/terms/
Dacă creez un link relativ la server (de ex. /site1/web/page1)
Nu va funcționa când serverul se schimbă...
http://mysite.com/
(Dezvolt site-ul local pe PC-ul meu și când site-ul este terminat îl încarc pe site-ul meu de găzduire).
De asemenea, nu va funcționa dacă doresc să clonez site-ul...
http://localhost/site2/web/
Căi absolute (de ex.http://localhost/site1/web/page1)
De asemenea, nu va funcționa când încep să rulez site-ul pe serverul live.
Am încercat modulul linkit. Funcționează pentru cazurile de mai sus, dar numai pentru unele tipuri de link-uri (de exemplu, nu am putut să funcționeze pentru link-uri către vizualizări).
Modulul patologic a remediat această problemă în Drupal 7, dar nu este încă pregătit pentru Drupal 9.
Am obținut cele mai bune rezultate folosind modulul php (furnizează un filtru pe care îl puteți adăuga la un format text). Dar cred că utilizarea acestui modul este descurajată.
<?php
use Drupal\Core\Link;
use Drupal\Core\Url;
print(Url::fromUserInput('/node/1')->toString());
?>
Oare îmi lipsește o alternativă mai bună? (Ar fi la îndemână dacă ar exista o modalitate de a face link-uri care sunt relative la directorul „web” drupal.)