2017-05-17 2 views
1

Ich frage mich, ob es ein Unterschied zwischenLaravel Route :: get ('foo'); vs Route :: get ('/ foo');

Route::get('foo'); 

und

Route::get('/foo'); 

ich von www.mysite.com/foo beiden Seiten durch meine Website und api zugreifen kann, aber es ein Unterschied oder ist es nur eine Frage der Präferenz?

+0

https://webmasters.stackexchange.com/questions/56840/what-is-the-purpose-of-leading-slash-in-html-urls – hassan

+1

Wenn Sie 'php artisan route: list' ausführen, werden Sie Beachten Sie, dass sie unter derselben Route registriert werden, unabhängig davon, welche Syntax Sie verwenden. – apokryfos

Antwort

1

Es ist wichtig, eine URL mit einer / zu starten, so dass die beabsichtigte URL anstelle des übergeordneten oder untergeordneten zurückgegeben wird.

Lassen Sie uns sagen, wenn Sie auf einer Website zu /example_1/ Browsen dann haben Sie einen Link auf der Seite, die example_1.html hat. Ohne den Vorwärtsblitz wird versucht, die Seite gemäß der folgenden URL zu besuchen: /example_1/example_1.html. Während beim Vorwärtsblinken wird davon ausgegangen, dass Sie die oberste Ebene meinen, die in diesem Fall die folgende URL sein wird: example.com/example_1.html. Also mit index Dateien wäre es kein Problem, da sie sowieso automatisch geladen werden. Aber es könnte Probleme beim Laden von Dateien oder Funktionen in tiefen URL's verursachen und nicht die volle URL definieren.

Normalerweise ist es am besten, immer / zu verwenden. Meiner Erfahrung nach benutze ich sie immer, weil es freundlicher ist, wenn du die Struktur deiner Seite änderst, da es kein richtiges oder falsches gibt, vorausgesetzt, dass die beabsichtigte Seite immer zurückgegeben wird. Denken Sie daran, dass es bei größeren Projekten besser ist, immer den vollständigen Link zu den vorgesehenen / anzugeben, denn dann haben Sie eine vollständige, organisierte Struktur Ihres Projekts und Ihrer Website.

Ich weiß nicht wirklich, ob es auch SEO-Regeln über diese Art von Themen gibt, aber vielleicht gibt es einige, also sollten Sie das auch überprüfen, um sicher zu gehen.

Macht es einen großen Unterschied? Nein, ist es notwendig? Nein, aber es ist der beste Weg, um Ihre URL immer vollständig zu definieren.

0

Es gibt keinen Unterschied beim Definieren einer Laravel-Route wie dieser, die ich gesehen habe.

0

In Laravel gibt es keinen Unterschied beim Definieren von Routen, aber im Allgemeinen ohne Verwendung von / bedeutet dies, dass es sich um einen relativen Pfad handelt.

1

Absolut keinen Unterschied in diesen beiden Optionen.

Wenn Sie die get Funktion folgen und gehen auf, um zu sehen, was mit dem übergebenen Parameter $uri passiert, können Sie sehen, dass es durch das Verfahren behandelt wird Illuminate\Routing\Router::prefix($uri), die den Slash von der uri trimmt.