将.htaccess与php5.4内置服务器一起使用
在我的开发环境中,我使用php5.4的web内置web服务器,但似乎.htaccess不能正常工作。我找不到那个服务器的文档。有人能告诉我,是否可以像apache一样使用htaccess和mod_重写将.htaccess与php5.4内置服务器一起使用,php,.htaccess,Php,.htaccess,在我的开发环境中,我使用php5.4的web内置web服务器,但似乎.htaccess不能正常工作。我找不到那个服务器的文档。有人能告诉我,是否可以像apache一样使用htaccess和mod_重写 非常感谢正如我在评论中提到的,当前目录默认为您的webroot。此外,此Web服务器不支持.htaccess 您可以在这里找到有关您的问题的详细信息 让服务器运行 默认情况下,当前目录是您的webroot,您现在可以 请求此处的任何文件,并以常规方式运行PHP 或 路由请求,如Apache Rew
非常感谢正如我在评论中提到的,当前目录默认为您的webroot。此外,此Web服务器不支持
.htaccess
您可以在这里找到有关您的问题的详细信息
让服务器运行
默认情况下,当前目录是您的webroot,您现在可以
请求此处的任何文件,并以常规方式运行PHP
或
路由请求,如Apache Rewrite
我正在寻找的一个即时功能是
将所有传入的请求重定向到index.php,我通常使用它
一个.htaccess文件。此Web服务器不支持这些(尽管我的
好朋友Josh创造了一些非常接近的东西)但确实如此
支持路由文件
我不喜欢这样做,但我在野外看到过软件Magento这样做:
/**
* Parse .htaccess file and apply php settings to shell script
*
*/
protected function _applyPhpVariables()
{
$htaccess = $this->_getRootPath() . '.htaccess';
if (file_exists($htaccess)) {
// parse htaccess file
$data = file_get_contents($htaccess);
$matches = array();
preg_match_all('#^\s+?php_value\s+([a-z_]+)\s+(.+)$#siUm', $data, $matches, PREG_SET_ORDER);
if ($matches) {
foreach ($matches as $match) {
@ini_set($match[1], str_replace("\r", '', $match[2]));
}
}
preg_match_all('#^\s+?php_flag\s+([a-z_]+)\s+(.+)$#siUm', $data, $matches, PREG_SET_ORDER);
if ($matches) {
foreach ($matches as $match) {
@ini_set($match[1], str_replace("\r", '', $match[2]));
}
}
}
}
它用于将
.htaccess
中的PHP设置应用于PHP CLI脚本,但我认为它也适用于PHP的内置web服务器。默认情况下,当前目录是您的webroot,此web服务器不支持。htaccess
此处引用链接文章的相关部分会很有用。