我有一个Codeigniter网站部署到Google App Engine PHP 7环境。然后,我添加了一个名为hello.php
的简单PHP文件:
<?php
echo "Hello World";
?>
并按如下所示放置在网站根目录中:
Root
--application
--css
--js
--system
--hello.php
[当我从Cloud Shell本地主机访问hello.php
时,它将完美加载:
https://8080-dot-1234567-dot-devshell.appspot.com/hello.php
[在部署到Google App Engine后访问hello.php
时,出现404 Page Not Found
错误。由于GAE不支持.htaccess
文件,因此我了解处理路由的正确方法是通过app.yaml
文件。这是我的app.yaml
文件:
runtime: php72
handlers:
- url: /js
static_dir: js
- url: /css
static_dir: css
- url: /images
static_dir: images
- url: .*
script: auto
js,css和images文件夹中的所有资产都可以通过GAE访问,但是hello.php
无法访问。我应该如何修改此app.yaml
文件,以便路由将在GAE上使用hello.php
文件?
我能够重现您的问题,并发现该错误似乎与您的php文件的名称有关。
如app.yaml documentation中所述,脚本字段定义了应用程序的入口点,但唯一允许的值为“ auto”,GAE会在index.php或public / index.php上查找控制器,因为您的名为hello.php GAE找不到它。只需更改文件名即可使用。
希望这会有所帮助。