Laravel 4 拉威尔无限循环
我正在使用Laravel v.4.2构建一个应用程序。在Laravel 4 拉威尔无限循环,laravel-4,Laravel 4,我正在使用Laravel v.4.2构建一个应用程序。在app/public目录中,我有images文件夹,其中包含静态图像。然后,我创建了一个ImagesController,供用户管理资产。然而,当我在浏览器中输入URL:myapp.dev/images时,我得到了一个无限重定向循环错误。我仔细检查了所有路线,发现没有与图像相关的路线。即使我注释掉了所有routes条目,错误仍然存在 我通过重命名控制器找到了解决方法,但是这不是一个理想的解决方案 如何才能完全处理此错误?您必须重命名图像目录
app/public
目录中,我有images
文件夹,其中包含静态图像。然后,我创建了一个ImagesController
,供用户管理资产。然而,当我在浏览器中输入URL:myapp.dev/images
时,我得到了一个无限重定向循环错误。我仔细检查了所有路线,发现没有与图像相关的路线。即使我注释掉了所有routes条目,错误仍然存在
我通过重命名控制器找到了解决方法,但是这不是一个理想的解决方案
如何才能完全处理此错误?您必须重命名图像
目录或图像
路线。发生的是服务器的预期行为:当它点击public
目录(所有Laravel请求都从该目录开始)时,它发现images
文件夹存在,因此您的URL不会重定向到index.php
,您的应用程序也不会启动。所以它永远都不会到达你的路线
循环本身的原因取决于.htaccess
文件的内容,但这很可能是因为当您请求myapp.dev/images
时,服务器会识别images
是一个目录,并立即返回301重定向到myapp.dev/images/
(带有尾随的//code>). 然后,您的.htaccess
文件跳入并尝试将其转换回myapp.dev/images
,而不带尾随斜杠。这发生在RewriteRule^(.*)/$/$1[L,R=301]
行中
通常,当导航到app/public
中的文件夹时,您应该会收到403禁止的错误。执行此操作的行是选项-索引
,它禁用在浏览器中显示目录列表(或索引)的功能。通常,您在服务器的httpd.conf
文件中禁用了服务器范围内的索引。您可能希望检查情况是否属实,或者至少在app/public
中的文件中添加选项-索引
另外,请确保app/public
中的.htaccess
文件包含以下两行内容:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
那么,为什么会出现无限循环呢?可能是因为您的服务器行为与您的.htaccess
争用了后面的斜杠。看看编辑后的答案。听起来很奇怪。。。您的.htaccess
文件中有什么内容?(在公共目录中)