我正在使用.htaccess
文件将所有即将到来的请求发送到index.php
,例如:
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^.*$ ./index.php
现在我不想在我的服务器中使用.htaccess
文件,那么有什么方法可以处理或发送某个文件上的所有传入请求吗? 或者让我们说index.php
?
您可以将相应的配置选项从 .htaccess 文件移到 apache 配置文件中。他们也在那里工作。
除此之外:没有。
您可以使用index.php/test
并通过 $_SERVER['PATH_INFO'] 获取后者,如果它是在 apache 中激活的(请参阅手册),但在此变体中,您必须在所有 URL 前面加上"index.php/"。
无法自动将每个请求重定向到索引.php。
如果您不想使用这两个选项中的任何一个,则至少必须在您希望能够访问的每个位置创建一个php文件,并在此文件中重定向或包含另一个文件。不好。
几乎不修改网络服务器的选项,即.htaccess,虚拟主机文件等。
但是,如果您有权运行 PHP 的内置 Web 服务器,则可以使用内置的 Web 服务器。
输入命令 :
$ php -S localhost:80 router.php
并让你路由器.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