当URL包含尾部斜杠时,Yii1错误的路由

时间:2017-10-18 13:26:45

标签: php yii

我必须支持一个使用Yii1的旧项目。我的行为非常奇怪。漂亮的URL已配置。

当网址没有结尾斜线(例如/ about或/ blog / post / 5)时,一切正常(路线正确且显示正确的页面)。但是带有斜杠(/ about /或/ blog / post / 5 /)的相同URL会产生错误的路径。无视网址我总是得到路线' main / index'和索引页面显示(未重定向到,但显示在带有斜杠的所有URL上)。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我有同样的问题,问题出在nginx配置中。 Yii的漂亮网址需要适当的配置才能工作。这很奇怪,但是同一个配置在一台服务器上工作正常,并在另一台服务器上产生了所描述的行为。

有问题的配置:

location ~ ^(.+\.(js|css|jpeg|jpg|gif|png|ico|swf|mp3|html|eot|woff|ttf|otf|svg|zip|pdf|xml))$
{
  rewrite ^(.*)/$ $1 permanent;
  try_files $uri /index.php?$args;
}

工作配置:

location /
{
  index  index.php;
  if (!-e $request_filename)
  {
    rewrite ^/(.*) /index.php?r=$1 last;
  }
}