2016-07-14 26 views
1

Ich habe meine href Attribut gesetzt, wie:Beheben von Pfaden in href

<a href="/somePage"></a> 

Aber ich wanderte meine Seite von localhost zu www.example.com, und jetzt Pfad zu /somePage sieht aus wie www.example.com/myApp/somePage statt localhost/somePage.

Wie kann ich mein href Attribut richtig auf /somePage umleiten, egal welche Präfixe ich hinzufügen würde?

+0

Ist 'somePage' immer relativ zum aktuellen Dokument oder zum Site-Root? –

Antwort

1

Sie sollten verwenden a. (Punkt) zum Zuweisen des relativen Pfads

<a href="./somePage"></a> 
2

Dieses Problem wird normalerweise gelöst, indem serverseitiger Code verwendet wird, um Verknüpfungen automatisch zu erstellen, indem Verweise auf andere Dokumente verwendet werden, sodass die Verknüpfungen unabhängig davon, wo sie sich bewegen, korrekt bleiben.

Für statische Seiten jedoch wird es mehr eine Herausforderung.

Meine Empfehlung ist, das Problem der Migration insgesamt zu vermeiden, indem Sie lokal in einer benutzerdefinierten internen Domäne debuggen.

Wenn Sie wissen, dass Ihre Website unter www.example.com/myApp veröffentlicht wird, empfehle ich die Einrichtung einer Domäne www.example.local mit Ihrer Website in www.example.local/myApp, wenn Sie lokale Tests durchführen. Wenn Sie alle Ihre relativen und stammrelativen Pfade veröffentlichen, funktioniert das wie erwartet.

Wenn Sie dies nicht tun können, dann müssen Sie relative Pfade überall verwenden, die mit ihren eigenen Problemen kommen. Die <base> element kann auch gelegentlich helfen, aber ich empfehle es im Allgemeinen nicht, da es beim Debuggen verwirrend sein kann.