Laravel Route :: get(' foo'); vs Route :: get(' / foo');

时间:2017-05-17 08:47:25

标签: php laravel

我想知道

之间是否有任何区别
Route::get('foo');  

Route::get('/foo'); 

我可以通过我的网站和api通过 www.mysite.com/foo 访问这两个页面,但是有任何区别或仅仅是一个偏好问题吗?

4 个答案:

答案 0 :(得分:1)

这两个选项绝对没有区别。

如果您跟进get函数并继续查看传递的$uri参数发生了什么,您可以看到它由方法Illuminate\Routing\Router::prefix($uri)处理,它修剪了斜杠uri。

答案 1 :(得分:1)

使用/启动网址非常重要,以便返回预期的网址而不是其父网址或子网址。

如果您在网站上浏览/example_1/,那么您可以在页面上找到example_1.html的链接。如果没有前向闪存,它将尝试根据以下URL访问该页面:/example_1/example_1.html。使用正向闪存时,它会假设您指的是顶级,在这种情况下会显示以下网址:example.com/example_1.html.因此,对于index个文件,它不会成为问题,因为它们和&# #39;无论如何都要自动加载。但是,它可能会导致在深URL内加载文件或函数时出现问题,而不会定义完整的URL

通常情况下,始终使用/是最好的。根据我的经验,我总是使用它们,因为它更友好,当你改变你的网站的结构,通过没有对或错,假设总是返回目标页面。请记住,在较大的项目中,最好始终指定与预期/的完整链接,因为这样您就可以拥有完整,有组织的项目结构和网站。

我真的不知道是否还有关于这类话题的SEO规则,但也许有一些因此你应该检查一下以确定。

它有很大的不同吗?不,有必要吗?不,但这是始终完全定义URL的最佳方式。

答案 2 :(得分:0)

在定义像我这样的Laravel路线时没有区别。

答案 3 :(得分:0)

在laravel中,定义路线时没有区别,但一般而言,不使用/表示其相对路径。