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

时间:2014-02-18 17:13:27

标签: php php-builtin-server

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

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

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

1 个答案:

答案 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服务器旨在帮助应用程序开发。有可能   也可用于测试目的或应用程序演示   在受控环境中运行。它不打算成为一个   功能齐全的网络服务器。 不应在公共网络上使用