我通常使用Apache作为我的php应用程序的Web服务器。但我发现php 5.4带有一个内置的Web服务器。
在我尝试加载php -S的第一个应用程序中,我注意到重写规则未启用或无法正常工作。
有人知道内置服务器是否有这样的东西吗?
答案 0 :(得分:5)
从手册的Built-in web server部分:
如果Web服务器在命令行上给出了PHP文件 开始它被视为“路由器”脚本。该脚本在 每个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服务器旨在帮助应用程序开发。有可能 也可用于测试目的或应用程序演示 在受控环境中运行。它不打算成为一个 功能齐全的网络服务器。 不应在公共网络上使用。