Phalcon 只能访问/路径,其他路径都走indexAction,是怎么回事?

发布于 2022-09-04 19:58:50 字数 1660 浏览 20 评论 0

按照以下步骤走,出现了奇怪的问题。
我用phalcon-devtools-2.0.13 工具创建了一个项目,test
然后,成功运行!
之后,我改了如下内容:

clipboard.png

也没问题:

clipboard.png

但是:

clipboard.png

我添加一个路由,就出问题了:

clipboard.png

请问这是怎么回事儿?我现在php5.6 phalcon2.0 nginx 配置:

 server {
           listen      80;
           server_name test;
           root /Users/ryugou/test/public;
           index  index.php index.html index.htm;
           charset     utf-8;
  
          location / {
                try_files $uri $uri/ /index.php;
         }
 
        location ~ \.php$ {
             try_files     $uri =404;
 
             fastcgi_pass  127.0.0.1:9000;
             fastcgi_index /index.php;
 
             include fastcgi_params;
             fastcgi_split_path_info       ^(.+\.php)(/.+)$;
             fastcgi_param PATH_INFO       $fastcgi_path_info;
             fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
             fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          }
 
         location ~ /\.ht {
             deny all;
         }
 }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

面如桃花 2022-09-11 19:58:50

环境问题,不是php版本、Phalcon版本bug,是nginx配置问题!
坑!
Phalcon默认的URI信息是从$_GET['_url']获得,也可以设置为$_SERER['REQUEST_URI']获取。
使用这两种不同方法获取,还得要不同的nginx配置!!(详情请看Phalcon文档 Phalcon nginx配置)
这特么也得配置!
使用$_GET['_url'](默认):

location / {

    try_files $uri $uri/ /index.php?_url=$uri&$args;

}
使用$_SERVER['REQUEST_URI'],nginx配置:

location / {

    try_files $uri $uri/ /index.php;

}
想要正常使用$_SERVER['REQUEST_URI']的方式,nginx配置完了还不要紧,还得在php代码里修改:

use PhalconMvcRouter;
$router->setUriSource(Router::URI_SOURCE_SERVER_REQUEST_URI);

我们的影子 2022-09-11 19:58:50

贴DI注册代码

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文