上一主题下一主题
关键字
主题 : laravel 路由怎样写,才能实现 /post 和 /post/ 指向一个位置啊?
级别: 北风技术菜鸟

UID: 470406
精华: 0
发帖: 303
威望: 1471 点
学点: 738 点
贡献: 0 点
好评: 0 点
学币: 0 个
注册时间: 2014-06-27
最后登录: 2015-04-06
楼主  发表于: 2015-04-06 18:12||

laravel 路由怎样写,才能实现 /post 和 /post/ 指向一个位置啊?

现在,/post/总会跳到别的页面,而不是跳到/post的位置。 VFL W @  
a5nA'=|}i  
我的lar****el版本是4.2,下面是测试代码。  y)GH=@b  
B`?}jJa9*  
Route::get('post', function() { return 'w/out slash'; }); &$8YW]1M  
Route::get('post/', function() { return 'with slash'; }); $ fFh4O4  
Route::get('post/', function() { return 'with slash'; }); AOscewQ  
Route::get('post', function() { return 'w/out slash'; }); cyPJ( &;  
以上两种配置,结果都如下,都是/post/ 301 跳到别的页面,/post页面正常。 /;clxtus  
>Pf\"% *  
curl http://localhost/gitcafe/public/post `Tk GI0q  
with slash =u 3YRqz  
curl http://localhost/gitcafe/public/post/ dBNx2T}_0  
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> :hFKmoy#  
<html><head> <tto8Y j  
<title>301 Moved Permanently</title>  /wT<p  
</head><body> pi;'!d[l%  
<h1>Moved Permanently</h1> S?<hs,  
<p>The document has moved <a href="http://localhost/post">here</a>.</p> br%l>Y\"  
</body></html>
此帖悬赏中(剩余时间:已结束)...
最佳答案: 2 学点
热心助人剩余点数: 1 学点
级别: 北风资深工程师

UID: 472685
精华: 0
发帖: 1930
威望: 1946 点
学点: 3280 点
贡献: 0 点
好评: 0 点
学币: 0 个
注册时间: 2014-07-10
最后登录: 2015-04-08
沙发(1楼)  发表于: 2015-04-06 18:13||

Lar****el不知道,不过其他路由我都是后边加?的 H*QIB_  
/post/?
级别: 北风资深工程师

UID: 472681
精华: 0
发帖: 1791
威望: 1815 点
学点: 2095 点
贡献: 0 点
好评: 0 点
学币: 0 个
注册时间: 2014-07-10
最后登录: 2015-04-07
板凳(2楼)  发表于: 2015-04-06 18:13||

因为 /post/和/post 是两个路由路径, 要让他俩指向一个位置,分配配置他俩,都指向同一个位置。
级别: 北风资深评论员


UID: 470398
精华: 0
发帖: 3024
威望: 3862 点
学点: 8642 点
贡献: 90 点
好评: 0 点
学币: 112 个
注册时间: 2014-06-27
最后登录: 2015-04-07
地板(3楼)  发表于: 2015-04-06 18:13||

会吗?L5 Route组件的行为我记得是: ^LAdN8Cbb  
~0Xx]   
无论带结尾斜线与否,均视为同一个路由; -ZBSkyMGy  
带斜线的301跳转到不带斜线的(至少对GET如此); onF?;>[  
同一个路由指定两次时,后边的覆盖前边的。 +*KDtqZjk  
以下是测****例与结果: *" ,"u;&  
# 3gdT  
Case 1 }7Y @u@R  
x<h-F  
$ diff my_l5_app/app/Http/routes.php l5_fresh/app/Http/routes.php N t_7Z  
22,24d21 o3>D~9  
< meR5E?Fm  
< Route::get('post/', function() { return 'with slash'; }); =\)qUs\z  
< Route::get('post', function() { return 'w/out slash'; }); BV6 U -  
't un;Y  
$ curl http://test1.l5.invalid/post/ 6%2\bI.#  
这里Web server提示了301跳转到 http://test1.l5.invalid/post J5*(PxDF  
SF的前台渲染有误,结果见 http://pastebin.com/ZMh0smvq r`!S*zK  
0O7VM)[  
$ curl http://test1.l5.invalid/post e*jfxQ=qG  
w/out slash _3 3YgO  
Case 2 ?)'+l   
:H`Z.>K  
$ diff my_l5_app/app/Http/routes.php l5_fresh/app/Http/routes.php ~h6aTN  
22,24d21 3hbUus  
< `=rDB7!$yL  
< Route::get('post', function() { return 'w/out slash'; }); y/yg-\/XF  
< Route::get('post/', function() { return 'with slash'; }); p_Y U!j_VE  
,.PmH.zjmR  
$ curl http://test1.l5.invalid/post/ fDIKR[B  
这里Web server提示了301跳转到 http://test1.l5.invalid/post _#rE6./@q  
SF的前台渲染有误,结果见 http://pastebin.com/ZMh0smvq g;PZ$|%&s>  
{1]/ok2k5  
$ curl http://test1.l5.invalid/post zoI0oA  
with slash