PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

laravel 5 配置了路由带"/",为什么URL::ROUTE('xxx')生成不了这个下划线

原创
2016-06-06 20:16:35 1028浏览

我这样配置路由的

可是到了页面上

我想要的链接形式是 http://m.xxx.com/gushi/后面带上“/”请问各位大神是不是缺少啥配置?

回复内容:

我这样配置路由的

可是到了页面上

我想要的链接形式是 http://m.xxx.com/gushi/后面带上“/”请问各位大神是不是缺少啥配置?

这个不单纯是框架或者路由设置的问题,在url中 / 是有特定意义,所以你不可能自行规定用/当做分隔符。
而且事实上对于web服务器来说/category/和/category就是同一个地址,你在画蛇添足。
而且,路由解析的时候第一件事情也是根据'//m.sbmmt.com/m/'来分割request url,所以你人为的在url中增加/并不会得到期望的结果。就像是文件命名不许使用/,因为会导致系统搞不清路径一样。

如果实在想要实现后面的正斜杠,在apache .htaccess 中将

#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^(.*)/$ /$1 [L,R=301]

注释掉,然后路由这样写

Route::get('/hero/',['uses'=>'Mobile\HerosController@category','as'=>'m_heroCategory']);

可以得到 http://www.test.com/hero/这样的路由了。

参考链接 http://stackoverflow.com/questions/22063520/laravel-slash-after-url-redirects-to-root-folder

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。