我有一个带有重写规则的.htaccess:
RewriteRule ^([a-zA-Z]+)\.page$ index.php?module=$1 [L]当我使用当前dir中的php -S 127.0.0.1:80启动php服务器时,在我的服务器上找不到http://127.0.0.1/home.page页面。因此,我可以理解php内部服务器至少不会读取RewriteRule。这是对的还是错的?
发布于 2015-02-07 23:28:25
那是真的。.htaccess由Apache使用和处理。Apache处理请求。它只是作为一个助手加载PHP来解析和执行PHP文件。当PHP作为独立服务器启动时,它不会使用这些配置。
您可以查看这个GitHub项目中的.htaccess解析器,该解析器可以与PHP内置服务器一起使用。但是请注意,这个项目是一个未定义的状态,介于'alpha‘和’废弃‘之间。这篇博客文章也链接到该项目,并提供了更多的上下文。
另外,PHP的内部服务器不能用作生产服务器。它没有像Apache或Nginx这样成熟的服务器那样强大、灵活、稳定和安全。
https://stackoverflow.com/questions/28388718
复制相似问题