目前我讓一個PHP腳本處理所有傳入的URL。這個PHP腳本然後解析該URL並加載該URL的特定處理程序。就像這樣:URL處理 - PHP與Apache重寫
if(URI === "/")
{
require_once("root.php");
}
else if(URI === "/shop")
{
require_once("shop.php");
}
else if(URI === "/contact")
{
require_once("contact.php");
}
...
else
{
require_once("404.php");
}
現在,我一直在想,這實際上是非常低效的,打算一旦我的網站被訪問更多的時候需要很多不必要的處理能力。所以我想,爲什麼不mod_rewrite的內阿帕奇做到這一點,讓阿帕奇直接調用PHP腳本:
RewriteRule ^$ root.php [L]
RewriteRule ^shop$ shop.php [L]
...
但是,因爲我有很多這些網址的,我只是想做出改變,如果它真的是值得。
所以,這是我的問題:什麼選擇更好(效率明智和否則),爲什麼?
順便說一句,我絕對想保持URL方案,而不是簡單地讓腳本通過他們的實際文件名(something.php)訪問。
你是如何處理樣式表和圖像等靜態資源的?只要那些不通過PHP腳本,它可能是好的 –
@Pekka,他們是,因爲一些資源只能登錄用戶,所以我先檢查cookie和登錄狀態,然後我服務他們與readfile()。但是,謝謝你真正爲我的問題提供了第一個真正的答案。 – unicornop
順便說一句,你應該使用'switch-case' –