2012-04-19 43 views
0

我正在開發一個用戶帳戶的網站。對於每個URL是沿着線:是否有另一種方式通過PHP的URL傳遞值?

www.site.com/profile.php?user=ChanceM 

但是,我想知道是否有另一種方法是通過URL與PHP有更多像這樣的URL發送值並抓住他們:

www.site.com/ChanceM 

或者:

www.site.com/profile.php/ChanceM 

我只是想知道如果這是可能的,因爲記住第一URL是不是很人性化。謝謝!

+0

是的,你必須看到的是在很多地方做。 – 2012-04-19 00:06:26

+0

您正在查找的關鍵字是「URL重寫」。 – 2012-04-19 00:06:28

+0

去搜索網絡服務器如何工作。 – Incognito 2012-04-19 00:07:02

回答

1

對於Apache是​​的 - 您需要查看手冊頁的rewrite規則。該鏈接會告訴你如何做到這一點。也看看Apache文檔。

至於其他服務器,我不知道。

0

有一定的方法可以做到這一點,但可能不是像$ _GET數組那樣內置到PHP中。你可以做的一件事是在Apache配置中,用一個php腳本替換404頁面,該腳本獲取url並將其重定向到www.site.com/profile.php?user=ChanceM(我認爲在mod_rewrite中也可以這樣做)。

0

是的,你可以做任何你說明的方式。

在第一個示例中,您必須使用類似mod_rewrite的東西,它可以透明地將友好URL(site.com/Username)重寫爲PHP腳本(site.com/profile.php?user=Username)

使用第二種方法,您必須使用$_SERVER['REQUEST_URI']來訪問URL中的數據,並手動將其解析爲可用變量。

0

如果你想發送「乾淨的URL」(如果沒有做一些類型的URL重寫),你可以使用的東西像破滅和解析網址:

http://us2.php.net/manual/en/function.parse-url.php 
http://us2.php.net/manual/en/function.implode.php 

這些方法讓你拉URL的各個部分並使用它們

相關問題