我的项目是一个基本的php网站,只有一小部分用于包含页眉/页脚的PHP。
项目结构
app.yaml
位于root中,根目录中还有/www
目录/www
dir是所有php文件和/www/assets
目录/www/assets
包含所有静态文件。配置文件
app.yaml文件构造如下:
runtime: php55
api_version: 1
handlers:
- url: /
script: www/index.php
- url: /about.php
script: www/about.php
- url: /(.*)
static_files: www/\1
upload: www/(.*)
关注这并不完全正确。
我还需要像php.ini这样的其他配置文件吗?或app.yaml就够了?
问题
当我使用dev_appserver.py .
在本地运行项目时,它的工作非常完美。
但是当我使用gcloud app deploy
部署项目时,我得到:
" http错误404,无法找到此页面"。
答案 0 :(得分:0)
您可能不希望在www
中匹配static_files
本身,因为默认情况下这意味着该位置的.php
文件不会被视为应用程序文件。
您应该只使用/www/assets
配置static_files
(最后一个,与static_files
网址格式不匹配)并保留Google {{{{{{{{ 3}}:
.php
或者你可以只能使用- url: /
script: www/index.php
# Serve php scripts.
- url: /(.+\.php)$
script: www/\1
- url: /(.*)
static_files: www/assets/\1
upload: www/assets/(.*)
选项(example表中的第一行):
<强> application_readable 强>
可选。布尔。默认情况下,在静态文件处理程序中声明的文件 作为静态数据上传,仅供最终用户使用。他们 应用程序无法读取。如果此字段设置为true,则 文件也作为代码数据上传,以便您的应用程序可以阅读 他们。这两个上传都是根据您的代码和静态数据收取的 存储Handlers element。
像这样:
application_readable
就个人而言,我发现第一种方法更清洁。