在提供PHP文件时删除PHP文件扩展名

时间:2015-07-25 22:56:15

标签: php google-app-engine

我正在尝试从我网站中的所有*.php文件中删除地址中的文件扩展名。例如,如果用户访问mysite.com/about.php,我希望该网址为mysite.com/about

这是我的app.yaml

application: mysite
version: 1
runtime: php55
api_version: 1

handlers:
# Static files
- url: /images/*
  static_dir: images
- url: /css/*
  static_dir: css
- url: /js/*
  static_dir: js

# Routing
- url: /services(.*)
  script: services.php
- url: /portfolio(.*)
  script: portfolio.php
- url: /project(.*)
  script: project.php
- url: /about(.*)
  script: about.php
- url: /contact(.*)
  script: contact.php
- url: /(.*)
  script: index.php

我怎样才能在GAE中实现这一目标?

1 个答案:

答案 0 :(得分:2)

如果你需要做的就是执行这种类型的路由,你可以使用:

-url: /(.*)
 script: /routes.php

但是,使用此方法,您无法处理404错误(尽管它们似乎不会在问题中提供的app.yaml中处理)。 app.yaml中的错误处理程序不会为404工作,因为如果他们无法匹配您提供的任何路线,他们就会开始工作。

所以,如果你想处理404错误等等,你应该做的是从php脚本内部进行路由,如下所示:

{{1}}

并在routes.php内部检查$ _SERVER [' REQUEST_URI']变量以查看请求的页面,并相应地提供相应的内容。

编辑:感谢@Avinash Raj清理正则表达式Here