2014-02-22 31 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

相關問題