php - 如何忽略 urlFor() 链接中 index.php 的目录?
问题描述
我正在使用 gcloud 的应用程序引擎,并将我的 index.php 文件放在一个名为“/public”的目录中。我将 app.yaml 文件的入口点设置为从那里开始,因此它将该文件夹视为 url 中的根目录。
当我在我的网站 ( href="home"
) 上手动编码链接时,一切正常(链接显示为mysiteurl.com/home
)。当我使用href="{{ urlFor('home') }}"
链接显示为mysiteurl.com/public/home
.
所有链接都有效,网站运行没有错误,但我不希望/public
出现在链接或 url 中。有没有办法为 slim/twig 设置一个“入口点”(如在 gcloud 中),以便/public
在生成链接时将其视为根目录?
更新:这实际上可能是一个 gcloud 问题。在 localhost 上,一切都按预期工作(使用 .htaccess 中忽略的文件.gcloudignore
),但是当我部署应用程序时,链接变为/public/page
. 也许app.yaml
入口点导致了问题?
Addtl 信息: 我使用的是标准环境,这是我的 app.yaml 文件:
runtime: php72
entrypoint: serve public/index.php
basic_scaling:
max_instances: 1
idle_timeout: 5m
handlers:
- url: /css
static_dir: public/css
- url: /data
static_dir: public/data
- url: /fonts
static_dir: public/fonts
- url: /img
static_dir: public/img
- url: /js
static_dir: public/js
- url: /libs
static_dir: public/libs
- url: /scss
static_dir: public/scss
- url: /.*
script: auto
secure: always
解决方案
推荐阅读
- flutter - 有没有办法在手机锁定时保持计时器运行?
- python - 弗劳恩霍夫衍射——可能转移 fft2 问题
- python-3.x - 在 matplotlib 中添加从另一个库生成的图像作为插图
- tensorflow - 'conda install tensorflow-gpu' 没有安装任何 CUDNN 库
- java - Java:: 进程构建器:bash 脚本:返回的文件名是正确的,但 fileReader 抛出 FileNotFoundException
- java - 将16BitPCM转为.wav,切换字节序后,.wav文件向后播放
- neo4j - 有没有办法在密码查询中进行计算?
- matplotlib - 简单的matplotlib作为flask生成的网页中的嵌入图像
- postgresql - 通过从远程客户端连接的 psql 使用多个 sql 查询
- javascript - JavaScript 中的异步函数很奇怪