PHP 5.4内置服务器上的友好URL

gui*_*fer 4 php php-builtin-server

我经常使用Apache作为我的php应用程序的Web服务器.但我发现php 5.4带有一个内置的Web服务器.

在我尝试加载php -S的第一个应用程序中,我注意到重写规则未启用或无法正常工作.

有人知道内置服务器是否有这样的东西?

ajt*_*rds 5

从手册的内置Web服务器部分:

如果在启动Web服务器时在命令行上给出了PHP文件,则将其视为"路由器"脚本.该脚本在每个HTTP请求的开头运行.如果此脚本返回FALSE,则按原样返回请求的资源.否则,脚本的输出将返回给浏览器.

路由器文件

<?php
// routing.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
    return false;
} else {
    include __DIR__ . '/index.php';
}
Run Code Online (Sandbox Code Playgroud)

然后启动服务器:

php -S localhost:8888 routing.php
Run Code Online (Sandbox Code Playgroud)

图片来源:http://gonzalo123.com/2012/10/15/how-to-rewrite-urls-with-php-5-4s-built-in-web-server/

重要的提示

此Web服务器旨在帮助应用程序开发.它也可用于测试目的或在受控环境中运行的应用程序演示.它不是一个功能齐全的Web服务器.它不应该在公共网络上使用.

  • 同样来自该页面:"此Web服务器旨在帮助应用程序开发.它还可用于测试目的或在受控环境中运行的应用程序演示.它不是一个功能齐全的Web服务器.它应该不能在公共网络上使用." (2认同)