【发布时间】:2015-06-04 09:29:47
【问题描述】:
在我的应用中,Home 是默认的 Controller 集。 如果未设置特定会话变量,我将有一个主控制器重定向到主页。 登录验证后,会为用户创建会话并将我重定向到主页。在主页上,当我单击主页“http://domain/main”的链接时,它会再次将用户重定向到主页。 当我在网址中输入“http://domain/main/”时,它会打开正确的页面。但是“http://domain/main”正在重定向到“http://domain/home”。 当我清除存储中的会话文件并登录时,“http://domain/main”可以工作,但一段时间后它会再次将我重定向到主页。 我相信 laravel 缓存存在问题,因为在我的代码中重定向处理是完美的。
【问题讨论】:
-
index.php 在公共目录中。 home.php 和 main.php 在 app/cotrollers 中。在 main.php 中,写着 if (Session::get("preferred_app_id") == "") { Redirect::to("home"); }。在第一个 preff_app_id 为空,但如果用户单击 appid 的选择,它会在主页上设置。但是在浏览器中,或者我不知道它在哪里被缓存,每当reqst 出现/main 时,它都会重定向到/home。但是 /main/ 工作正常。
-
if(Session::has('preferred_app_id')){ //随心所欲 }else{ //重定向到家 } 在家中:if(Session::has('preferred_app_id') ){ //重定向到主目录 }
-
我想我刚刚找到了诀窍。此重定向是浏览器缓存。当我在 chrome 中打开调试器并选择禁用缓存按钮时,一切正常。代码没有问题。
标签: laravel caching url-redirection