为什么Laravel给我一个无限的重定向?

时间:2014-07-14 06:25:02

标签: php apache laravel

我正在将我的个人网站转换为Laravel。我将旧网站放入public文件夹,然后使用以下全能路径返回旧网站(放置在我的路径文件的 end ):

Route::any('{all}', array('use' => Redirect::to('{all}')));

我一直在翻页,到目前为止一切都进展顺利。但是,在转换一个页面humor后,Firefox给了我这个错误:

  

页面未正确重定向。 Firefox检测到服务器正在以永远无法完成的方式重定向此地址的请求。

我检查了Apache日志,并注意到它在以下内容之间交替进行了几次:

  

" GET /幽默HTTP / 1.1"
  " GET /幽默/ HTTP / 1.1"

相关路线是:

Route::resource('humor', 'HumorController');

控制器方法是:

public function index() {  
  return View::make("humor.index");  
}

观点是:

@extends('master')

@section('title')
  Humor
@stop

@section('content')
  [snip]
  <p><a href="/humor/jokes.php">Jokes</a></p>
  <p><a href="/humor/jokes_new.php">Jokes (Testing)</a></p>
  <p><a href="/humor/xkcd.php">xkcd</a></p>
@stop

这些链接目前是旧网站上的页面。

1 个答案:

答案 0 :(得分:0)

我终于通过注意到,如果我尝试以/some/folder格式访问旧网站上的文件夹,它会自动重定向到/some/folder/并显示内容。由于humor文件夹仍存在于我的旧网站上(位于public文件夹中),因此Apache尝试添加尾随/并显示内容。但是,我的Laravel .htaccess文件被设置为删除尾随/,因此他们互相争斗并导致无限循环。

我通过将humor中的public目录重命名为humor_old并更新相关链接来解决此问题。

我已经在这里回答了我自己的问题,因为当我搜索La for Laravel和Firefox错误时,我得出了4个结果,这些都与我的问题不同。