php 内部服务器是否读取 .htaccess 配置?

Does php internal server read .htaccess configuration?

我有一个带有一些重写规则的 .htaccess:

RewriteRule ^([a-zA-Z]+)\.page$ index.php?module= [L]

当我在当前目录中使用 php -S 127.0.0.1:80 启动 php 服务器时,在我的服务器上找不到 http://127.0.0.1/home.page 页面。 所以我可以理解 php 内部服务器至少不读取 RewriteRule。 是真是假?

没错。 .htaccess 由 Apache 使用和处理。 Apache 处理请求。它只是加载 PHP 作为解析和执行 PHP 文件的助手。当 PHP 作为独立服务器启动时,它不会使用这些配置。

您也可以查看指向该项目的 this GitHub project for an .htaccess parser that can be used with PHP's built in server. Note though, that this project is an undefined state, somewhere between 'alpha' and 'abandoned'. This blog post 链接,并提供更多上下文。

附带说明一下,PHP 的内部服务器不能用作生产服务器。它不具备 Apache 或 Nginx 等成熟服务器的强大功能、灵活性、稳定性和安全性。