Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用htaccess通过php重新路由所有请求_Php_.htaccess - Fatal编程技术网

使用htaccess通过php重新路由所有请求

使用htaccess通过php重新路由所有请求,php,.htaccess,Php,.htaccess,我正在使用.htaccess文件将所有即将到来的请求发送到index.php中,如: RewriteCond %{SCRIPT_FILENAME} !-d RewriteCond %{SCRIPT_FILENAME} !-f RewriteRule ^.*$ ./index.php 现在我不想在我的服务器中使用.htaccess文件,那么有什么方法可以处理或发送某个文件上的所有传入请求?或者说在index.php 您可以将相应的配置选项从.htaccess文件移到apache配置文件中。他

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

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

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

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

除此之外:没有

您可以使用
index.php/test
并通过$\u服务器['PATH\u INFO']获取后者(如果它在apache()中被激活),但是在这个变体中,您必须在所有URL前面加上“index.php/”

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


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

如果不修改Web服务器的选项,如htaccess、虚拟主机文件等,就很难做到

但是,如果您拥有运行PHP内置Web服务器的权限,则可以使用内置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>";
}
?>


来源:

否。在不使用
.htaccess
文件的情况下,如何指示服务器在点击PHP解释器之前执行操作。你打算修改httpd.conf吗?我不太了解如何编辑htpd.conf,但是一些MVC框架也会这样做?我的意思是他们只通过index.php处理所有请求,对吗?