2016-03-18 4 views
0

Ich entwickle eine Website auf einem Webserver, auf den über URL 2 zugegriffen werden kann: mywebsite.example.com oder example.com/mywebsite. Zum Beispiel, wenn ich auf mywebsite.example.com/images/abc.jpg und zugreifen, bekomme ich das gleiche Bild.Absolute oder relative URL, wenn sich meine Website möglicherweise nicht im Stammordner befindet?

Das Problem ist, ich habe viele Links innerhalb meiner Website, und ich bin mir nicht sicher, ob ich einen absoluten oder relativen Pfad verwenden soll.

Aus einer anderen Frage Absolute vs relative URLs ich jemand gefunden was darauf hindeutet, zu Stamm-URL relativ verwenden (wie /images/abc.jpg), aber wenn ich die Website mit example.com/mywebsite zuzugreifen, bricht jeder Link nur.

Für relative Pfade, ich fand es schwierig zu verwalten, da Webseiten in verschiedenen Ordnern sind, aber die gleiche Vorlage verwenden, die einige Links enthält. Es bedeutet, dass ich einige Links manuell als ../ und einige als ./ setzen muss.

Ich habe auch versucht mit <base> Tag aber es vermasselt mit Anker. Selbst wenn ich versuche, den vollständigen Pfad vor dem Symbol einzuschließen, funktionieren einige jQuery-Bibliotheken nicht richtig, da sie den Wert innerhalb des Attributs href direkt erhalten, den Teil jedoch nicht nach # extrahieren.

Gibt es eine bessere Praxis oder einen besseren Vorschlag? Vielen Dank.

+0

Ich empfehle, eine URL auswählen und dabei bleiben. [Redirect] (https://moz.com/learn/seo/redirection) andere URLs zu der von Ihnen gewählten und verwenden Sie relative Pfade für Links und Bilder. Siehe [canonicalization] (https://moz.com/learn/seo/canonicalization). – showdev

+0

Leider kann ich nicht weiterleiten, da ich nicht der Besitzer des Servers bin und keine Berechtigung dazu habe. Wenn ich in der Lage bin, bei einer der URLs zu bleiben, hätte ich das schon getan. – user3545752

Antwort

0

Ich denke, Sie sollten relative URLs verwenden und konzentrieren Sie Ihre Suchvorgänge auf die Verwendung relativer URLs in Vorlagen, die relativ zur letzten Seite aufgelöst werden würde.

ich weiß nicht, die Technologie, die Sie für Templat verwenden, aber ich sehe zwei gemeinsame Lösungen:

  • deklarieren einen „relativen Pfad“ Variable in der Vorlage, und außer Kraft setzen sie dann in den verschiedenen Seiten, mit dem neuen relativen Pfad. Verwenden Sie diesen relativen Pfad als Präfix für alle URLs
  • delegieren Sie die Konstruktion von URLs an einen Dienst, der die letzte Seite kennen würde. Somethinkg wie resolveUrl(..)
Verwandte Themen