Phalcon Micro - 具有空白参数的路线?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (65)

我有一个nginx + phalcon3.3 + php7服务器和一个脚本phalconMicro,在我设置的下一个路线中:

$app->get(
    "/{animal}",
    function ($animal) {
        $REQUEST_URI = $_SERVER[REQUEST_URI];

        echo "$REQUEST_URI<br/>";
        echo "animal: $animal";
        if($animal === ''){
            echo '<br/>No animal, :(';
        }
    }
);
animals/cat/dog/bird
animal:
No animal, :(

我试图得到:

animals/cat/dog/bird
animal: cat

我的错误是我已经吃过phalcon微型教程,phalcon micro api文档以及nginx + phalcon文档。

我的nginx规则:

location ~ /animals {
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME thePhalconMicroScript.php;
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
提问于
用户回答回答于

你必须像这样定义你的nginx:

location ~ [^/]\.php(/|$) {
    fastcgi_pass  unix:/var/run/php/php7.0-fpm.sock;
    fastcgi_index /index.php;

    include fastcgi_params;
    fastcgi_split_path_info ^(.+?\.php)(/.*)$;
    if (!-f $document_root$fastcgi_script_name) {
        return 404;
    }

    fastcgi_param PATH_INFO       $fastcgi_path_info;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动