迁移现有代码库时,在Laravel中重定向循环

时间:2014-09-15 17:03:30

标签: php laravel

我有一个现有代码库的网络应用程序,我正在尝试慢慢迁移到Laravel。我在Laravel公共目录中设置了一些现有的站点URL结构,所以如果现有的物理目录或文件存在,它将执行这些文件,然后我计划在app / routes.php中为URL设置路由我希望Laravel能够处理。

如果我直接调用此网址(http://ttm.presencehosting.net/test/index.php

),这项工作正常

问题是如果我放弃index.php,例如http://ttm.presencehosting.net/test/ - 这会将浏览器设置为重定向循环。 (我没有为'test'设置路由,它是一个实际的文件夹)。理想情况下,我希望两个URL都能在app / public / test / index.php中执行代码

任何人都可以帮忙解决如何停止重定向循环的问题吗?

1 个答案:

答案 0 :(得分:0)

您可能在.htaccess文件中有此内容:

# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]

当您尝试访问公共目录中的目录时,此规则将执行操作,从而创建重定向循环。

您可以通过添加条件来检查目录是否已存在来避免这种情况:

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

小心301重定向,它们被烦恼地缓存!
另外,检查这是否会“破坏”您现有的任何路线。

希望有所帮助!