我必须支持一个使用 Yii1 的旧项目。我有非常奇怪的行为。漂亮的网址已配置。
当URL没有尾部斜杠(例如/about或/blog/post/5)时,一切正常(路由正确,显示正确的页面)。但是带有尾部斜杠(/about/或/blog/post/5/)的相同 URL 会形成错误的路线。忽略网址,我总是得到路由"main/index"并显示索引页面(不是重定向到,而是显示在所有带有尾部斜杠的 URL 上)。
有什么想法吗?
我遇到了同样的问题,问题出在nginx配置中。Yii 漂亮的 URL 需要适当的配置才能工作。这很奇怪,但相同的配置在一台服务器上工作正常,并在另一台服务器上产生所描述的行为。
有问题的配置:
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;
}
}