我有一个现有代码库的网络应用程序,我正在尝试慢慢迁移到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中执行代码
任何人都可以帮忙解决如何停止重定向循环的问题吗?
答案 0 :(得分:0)
您可能在.htaccess
文件中有此内容:
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
当您尝试访问公共目录中的目录时,此规则将执行操作,从而创建重定向循环。
您可以通过添加条件来检查目录是否已存在来避免这种情况:
# Redirect Trailing Slashes...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
小心301重定向,它们被烦恼地缓存!
另外,检查这是否会“破坏”您现有的任何路线。
希望有所帮助!