我通常使用Apache作为我的php应用程序的Web服务器。但我只是发现php 5.4带有内置的Web服务器。
在我尝试加载php -S的第一个应用程序中,我注意到重写规则未启用或无法正常工作。
有人知道内置服务器有没有这样的东西吗?
从手册的内置 Web 服务器部分:
如果 PHP 文件是在命令行上给出的,当 Web 服务器 启动它被视为"路由器"脚本。该脚本在 每个 HTTP 请求的开始。如果此脚本返回 FALSE,则 请求的资源按原样返回。否则,脚本的输出为 返回到浏览器。
路由器文件
<?php
// routing.php
if (preg_match('/.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false;
} else {
include __DIR__ . '/index.php';
}
然后使用以下命令启动服务器:
php -S localhost:8888 routing.php
信用:http://gonzalo123.com/2012/10/15/how-to-rewrite-urls-with-php-5-4s-built-in-web-server/
重要说明
此 Web 服务器旨在帮助应用程序开发。它可能会 也可用于测试目的或应用演示 在受控环境中运行。它不打算成为 功能齐全的网络服务器。它不应在公共网络上使用。