2014-02-22 27 views
0

我使用.htaccess文件发送所有即将到来的请求index.php像:重新路由通过PHP的所有请求与应该使用htaccess的

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

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

+0

你将如何来指示服务器号在不使用'.htaccess'文件的情况下在执行操作之前执行PHP解释器。你打算修改'httpd.conf'吗? – Ohgodwhy

+0

我对编辑htpd.conf不太了解,但是一些MVC框架也是一样的吗?我的意思是他们通过index.php处理所有请求只是正确的? –

回答

0

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

除此之外:第

您可以使用index.php/test,并通过$ _ SERVER获得后者[“PATH_INFO”]如果它是在阿帕奇(see manual)激活,但在这个变体,你必须前缀的所有网址“的index.php /”。

一种自动将每个请求重定向到index.php的方法是不可能的。

如果你不想使用这两个选项中的任何一个,你至少必须在每个你想要访问的位置创建一个php文件,并且在这个文件中重定向或包含另一个文件。不太好。

0

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

但是,如果您有权运行PHP的内置webserver,则可以使用内置的webserver。

输入以下命令:

$ 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

相关问题