Drupal 7 如何使用内置PHP服务器处理URL中有点的回调?
我在内置PHP开发服务器(运行者:Drupal 7 如何使用内置PHP服务器处理URL中有点的回调?,drupal-7,webserver,http-status-code-404,php-5.6,Drupal 7,Webserver,Http Status Code 404,Php 5.6,我在内置PHP开发服务器(运行者:PHP-S localhost:8888)中使用Drupal站点(使用.htaccess和运行良好的干净URL),在CMS中,我动态生成要公开的XML文件,但是当我试图打开/foo/bar.XML时,发生以下错误: 在此服务器上找不到请求的资源/foo/bar.xml 经过调查,PHP内置服务器似乎假定所有包含点的文件都必须是本地文件系统中的文件 有什么解决方法吗?根据,要处理自定义请求,您需要指定一个“路由器”脚本(在命令行上给出),该脚本返回FALSE,然后
PHP-S localhost:8888
)中使用Drupal站点(使用.htaccess
和运行良好的干净URL),在CMS中,我动态生成要公开的XML文件,但是当我试图打开/foo/bar.XML
时,发生以下错误:
在此服务器上找不到请求的资源/foo/bar.xml
经过调查,PHP内置服务器似乎假定所有包含点的文件都必须是本地文件系统中的文件
有什么解决方法吗?根据,要处理自定义请求,您需要指定一个“路由器”脚本(在命令行上给出),该脚本返回FALSE
,然后请求的资源按原样返回,否则脚本的输出将返回到浏览器
使用路由器脚本
下面是一个简单的示例,它处理图像请求,然后显示它们,否则如果请求HTML文件,它将显示“欢迎使用PHP”:
<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false; // serve the requested resource as-is.
} else {
echo "<p>Welcome to PHP</p>";
}
?>
php -S localhost:8888 .ht.router.php