PHP7的Google引擎现在需要一个“前端控制器”。以下是我需要管理的URL:
我的源文件夹有以下文件
因此,我将我的前端控制器(index.php)编码为
<?php
switch ($_SERVER['REQUEST_URI']) {
case '/':
require 'home.php';
break;
case '/sitemap.xml':
require 'gen_sitemap.php';
break;
case '/app/myPHP':
require 'myPHP.php';
break;
default:
echo "no page " . time();
break;
}但是它没有正确地解析URL:
https://myProject.appspot.com/ -> home.php ok https://myProject.appspot.com/?p=“你好”->没有页面 https://myProject.appspot.com/sitemap.xml -> sitemap.php ok https://myProject.appspot.com/sitemap.xml?p="h“->无页 https://myProject.appspot.com/app/myPHP -> myPHP.php ok https://myProject.appspot.com/app/myPHP?p="h“->无页
我该怎么修理这个前轮控制器?
发布于 2019-06-30 19:38:46
开关条件可能不能正常工作,因为它是比较"REQUEST_URI“。PHP的服务器全局变量键REQUEST_URI可能具有查询字符串的完整路径。而是尝试键"SCRIPT_NAME“或"PATH_INFO”
建议:首先检查$_SERVER变量中可用的所有键值,然后选择用于添加开关命令的键值。
示例: print_r($_SERVER);作为代码的第一行
参考资料:https://www.php.net/manual/en/reserved.variables.server.php
https://stackoverflow.com/questions/56827407
复制相似问题