2013-08-27 216 views
-1

我想要一個系統在該URL處查找頁面,如果找不到它,則會將該URL傳遞到它可以找到的最後一個頁面(對於錯誤解釋抱歉,這是唯一的我可以想到的方式)。例如:假設我輸入了URL「www.mysite.com/users/username」,它會將字符串「username」傳遞給「users.php」,而不是像www.mysite.com/users?user=username那樣。如果網站中沒有users.php,那麼它會將您引導至404頁面。從URL獲取數據PHP

對不起,真的很糟糕的解釋,我真的需要的是一個名字,這將被稱爲,我可以找到一些信息,但我不知道我在找什麼。

+0

你使用Apache,IIS或其他網絡服務器? – invisal

+2

這通常是使用重寫規則完成的。 – Barmar

+0

我使用Apache – user2248702

回答

1

添加在.htaccess文件以下規則:在你的項目的根文件夾

RewriteEngine on 
ErrorDocument 404 http://www.yoursite.com/404.php 

,包括在users.php下面的代碼和404.php會給你一個解決方案

$request = parse_url($_SERVER['REQUEST_URI']); 
$path = $request["path"]; 
$result = explode('/',rtrim($path,'/')); 
echo $result[2]; 
+0

我不需要添加對於我希望作爲頁面的所有PHP文件,您可以以這種方式傳遞數據?有什麼辦法可以將所有URL轉發到index.php文件進行所有處理,然後讓它顯示正確的頁面? – user2248702

0

嘗試php codeigniter框架你的問題將得到解決,它是codeigniter的默認功能。

+0

看看這一個http://ellislab.com/codeigniter/user-guide/general/urls.html – user2293790

+0

codeigniter看起來不錯,但我寧願不使用框架 – user2248702