我想是這樣的:獲得來自URL的用戶名在PHP
http://www.someniceandreliableurl.com/username
,趕上用戶名。
我要讓像嘰嘰喳喳/ Facebook的的/ etc快捷網址...
twitter.com/username
我怎樣才能讓這樣的事情用PHP? =)提前謝謝你。
我想是這樣的:獲得來自URL的用戶名在PHP
http://www.someniceandreliableurl.com/username
,趕上用戶名。
我要讓像嘰嘰喳喳/ Facebook的的/ etc快捷網址...
twitter.com/username
我怎樣才能讓這樣的事情用PHP? =)提前謝謝你。
使用mod_rewrite的在的.htaccess文件 :
RewriteEngine on
RewriteOptions MaxRedirects=1
RewriteCond %{REQUEST_FILENAME} -f [NC,OR]
RewriteCond %{REQUEST_FILENAME} -d [NC]
RewriteRule .* - [L]
RewriteRule ^(.*)$ /foo.php/$1 [QSA,L]
凡foo.php是您展示快速鏈接頁面腳本。
然後在foo.php(或任何你命名它)你可以在$_SERVER['PATH_INFO']
捕獲用戶名。
前5行打開mod_rewrite並允許重寫規則忽略實際的文件/文件夾/腳本。最後一個重寫所有不是罰款/文件夾/腳本的URL。
你可以使用一個重寫規則中的Apache變換site.com/user是site.com/loadpage.php?user=user
RewriteEngine On
RewriteRule ^/([a-z0-9]+) /load_user.php?user=$1 [NC,L,QSA]
感謝您的幫助,即時通訊測試(我必須等待),但它有很大的幫助。 – pojomx 2010-05-06 20:49:04
你要問web服務器到URL重寫的查詢字符串,你可以從PHP訪問數據。做你的PHP腳本的URL工作像
http://www.someniceandreliableurl.com/?user=username
然後確定Apache安裝的mod_rewrite和你被允許使用的.htaccess。然後創建一個帶有重寫規則的.htaccess文件,如
RewriteEngine On
RewriteRule ^/(.*)$ /?user=$1 [QSA]
爲什麼downvote? – 2010-05-06 20:43:18
@Joshua:不是一個理由,downvote,國際海事組織。無論如何,答案自然會在列表的底部,因爲另外兩個答案在這裏首先得到了一個開始。這仍然是一個有效的答案;不需要懲罰@Johan是一個打字速度較慢的打字員。 – 2010-05-06 20:49:04
簽出modrewrite在Apache中或使用提供路由的php框架。這通常是基於$ENV['PHP_SELF']
變量,它可以讓你在你的PHP代碼,你通常會在ModRewrite做做更多的工作。它會在主機名後返回url的一部分,所以你可以做像http://exmaple.com/index.php/username/profile這樣的網址。
不知道,但你也許可以在目錄中只使用一個文件使用該名稱,並有#!\ locationToPHPhere在文件假設你使用Linux環境的頂部。這可能會導致shell將其視爲一個php文件,在這一點上,您可以隨心所欲地執行任何操作。 – 2010-05-06 20:31:37
@Josh - 這將趨向,如果你有任何像樣規模的用戶羣 – 2010-05-06 20:34:06
所有三個答案假設你在Apache下運行PHP失敗。是這樣嗎? – Dolph 2010-05-06 20:38:48