Ich habe meine Coldfusion-Anwendung so eingerichtet, dass dynamische URLs auf der Seite angezeigt werden, z
www.musicExplained/index.cfm/artist/:VariableName
Meine Variablennamen enthalten jedoch manchmal Schrägstriche, wie z
www.musicExplained/index.cfm/artist/GZA/Genius
Dies verursacht ein Problem, da meine Anwendung davon ausgeht, dass der Schrägstrich im Variablennamen einen anderen Abschnitt der Website darstellt, nämlich die Künstleralben. Die URL schlägt also fehl.
Ich frage mich, ob es überhaupt etwas gibt, das dies verhindert? Muss ich eine Funktion verwenden, die Schrägstriche in den Variablennamen durch ein anderes Zeichen ersetzt?
Antworten:
Sie müssen den Schrägstrichen als entkommen
%2F
.quelle
/
und bricht die Route. :(encodeURIComponent
unddecodeURIComponent
für diesen Zweck verwenden.Sie können die Schrägstriche leicht durch
/
einen Unterstrich ersetzen, den_
Wikipedia für Leerzeichen verwendet. Das Ersetzen von Sonderzeichen durch Unterstriche usw. ist gängige Praxis.quelle
UNderscores ARE BAD FOR SEO
Kommentar. Unterstriche werden von Google als Unterstriche interpretiert, Bindestriche / Bindestriche werden als Leerzeichen interpretiert. Warum? Codierer, viele Codierer verwenden Google (einschließlich Google selbst seit den Anfängen), wenn sie Unterstriche als Leerzeichen behandeln, die Siefoo_bar
in den Suchergebnissen nicht mehr finden können (wahrscheinlich eine Klasse). Blah blah ... Fazit: Unterstriche sind nicht schlecht für SEO, wenn Sie verstehen, wie die Suchmaschine, für die Sie "optimieren", tatsächlich funktioniert.Sie müssen diesen entkommen, aber nicht einfach
%2F
manuell ersetzen . Sie könnenURLEncoder
dies verwenden.Z.B
URLEncoder.encode(url, "UTF-8")
Dann kannst du sagen
quelle
encodeURIComponent
, w3schools.com/jsref/jsref_encodeuricomponent.aspSchauen Sie sich diese w3schools-Seite über "HTML URL Encoding Reference" an: https://www.w3schools.com/tags/ref_urlencode.asp
für / du würdest mit% 2F entkommen
quelle