使用htaccess通过php重新发送所有请求

时间:2014-02-22 18:54:17

标签: php .htaccess

我正在使用.htaccess文件将所有即将发送的请求发送到index.php,例如:

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f  
RewriteRule ^.*$ ./index.php

现在我不想在我的服务器中使用.htaccess文件,所以有什么方法可以处理或发送某些文件上的所有传入请求?或者让我们说index.php

2 个答案:

答案 0 :(得分:0)

您可以将.htaccess文件中的相应配置选项移动到apache配置文件中。他们也在那里工作。

除此之外:没有。

您可以使用index.php/test并通过$ _SERVER ['PATH_INFO']获取后者,如果它已在apache(see manual)中激活,但在此变体中您必须使用“index”为所有网址添加前缀.PHP /".

无法自动将每个请求重定向到index.php。

如果您不想使用这两个选项,您至少必须在每个位置创建一个php文件,您希望能够访问该文件,并在此文件中重定向或包含另一个文件。不太好。

答案 1 :(得分:0)

几乎没有修改网络服务器的选项,即。 .htaccess,虚拟主机文件等

但是,如果您有权运行PHP的buit-in webserver,则可以使用内置的Web服务器。

输入命令:

$ php -S localhost:80 router.php

让你的router.php文件像这样:

<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false;    // serve the requested resource as-is.
} else { 
    echo "<p>Welcome to PHP</p>";
}
?>

来源:http://www.php.net/manual/en/features.commandline.webserver.php