Aus SEO-Sicht ist der gleiche Link mit trailing slash
anderen als Link ohne es. Es wird dringend empfohlen, immer ein Schema zu verwenden (mit oder ohne Trails).
Obwohl es verschiedene Schulen gibt, die eine besser ist, ist es am wichtigsten, eine 301-Weiterleitung von "falscher" URL zur richtigen zu machen. Sie können es im Spiel mit einem '' ziemlich einfach erreichen.
Persönlich bevorzuge ich un-trailed-Version, vielleicht, weil die Implementierung in das Play ist nur wie das Schreiben von ein paar einfache Zeilen. In Ihre Routen diese Regel-Datei, irgendwo am Anfang (halten den Slash - es ist wichtig, da es nicht so weiter Schrägstrich im Spanning-Gruppe betrachtet hat, und erlaubt es, schleppte URLs leicht zusammenpassen):
GET /*path/ controllers.Application.untrail(path: String)
dann Sie kann nur eine Umleitung in der Steuerung machen - zum param, so wird es am Ende ohne Schrägstrich:
Java
public static Result untrail(String path) {
return movedPermanently("/" + path);
}
Scala
def untrail(path: String) = Action {
MovedPermanently("/" + path)
}
Bis jetzt werden alle Routen, die mit dem Schrägstrich enden, auf die nicht gezogene Version umgeleitet. Einfach :)
Natürlich ist es sehr empfehlenswert, Reverse-Router für die Generierung von korrekten URLs zu verwenden - redundante Redirects zu minimieren. Auch wenn Sie die URL irgendwo fest codieren (zB in einigen JS oder in einer externen Anwendung), ist es auch besser, die richtigen zu schreiben, anstatt sie jedes Mal zu konvertieren. Wenn Sie planen, eine öffentliche API zu veröffentlichen, notieren Sie in der Dokumentation, welches Muster Ihre Anwendung bevorzugt, damit Entwickler gewarnt werden und (möglicherweise) korrekte Aufrufe vorbereiten.
Was mehr ist - es am wichtigsten für GET
Routen, da sie Manipulation von der Client-Seite sind. Bei der Verwendung von POST
, PUT
, DELETE
und anderen brauchen Sie (oder besser gesagt, Sie sollten nicht) sich um Redirects kümmern, da sie vom Benutzer nicht geändert werden können und auf diese Weise müssen Sie sich daran erinnern, welchen Weg Sie wählen. Bei falschem Anruf, dh. für POST, geben Sie einfach einen Fehler 404 zurück - so wird der Entwickler der 3. Teilanwendung verpflichtet, korrekte Endungen zu verwenden.
sehr gute Antwort, ich werde es versuchen ... – opensas
Danke. Und in Scala sieht das so aus: def untrail (Pfad: String) = Aktion {MovedPermanently ("/% s" .format (Pfad))} –
@ChristopherMartin, danke, ich habe deine Probe in die Antwort kopiert – biesior