我有我的域名,我想從這樣的URL得到查詢:http://domain.com/querystring
和輸出將被:querystring
PHP獲取QUERY_STRING後「/」
這是相同的技術bit.ly使用和Facebook的個人資料頁面。我必須在我的.htaccess文件中做些什麼嗎?或者是否有一個正常的PHP命令來做到這一點..我認爲這將是某種.htaccess URL重寫,但我只知道是否有任何其他選項。
我有我的域名,我想從這樣的URL得到查詢:http://domain.com/querystring
和輸出將被:querystring
PHP獲取QUERY_STRING後「/」
這是相同的技術bit.ly使用和Facebook的個人資料頁面。我必須在我的.htaccess文件中做些什麼嗎?或者是否有一個正常的PHP命令來做到這一點..我認爲這將是某種.htaccess URL重寫,但我只知道是否有任何其他選項。
對於Facebook的例子: www.facebook.com/profile.php?id=####
然後使用mod_rewrite的樣子www.facebook.com/username
但要獲得username
代碼:
$_GET['id'];
Facebook已經到id
和usernames
引用在其db表中
'RewriteEngine On RewriteRule ^([a-zA-Z0-9 _-] +)$ user.php?username = $ 1 RewriteRule ^([a-zA-Z0-9 _-] +)/ $ user.php?用戶名= $ 1' 這是我的.htaccess代碼..我需要把一個點'.'。怎麼做?這是否像普通的正則表達式一樣工作? – Dimser 2012-07-27 17:03:14
我假設您使用的是Web服務器,如Apache和index.php
是您的控制器。
啓用mod_rewrite,然後在根目錄(或您的虛擬主機定義)中配置.htaccess
文件。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
然後使用$_SERVER['QUERY_STRING']
檢查$_SERVER超全局。
沒有mod_rewrite,PHP通常不會被觸發只有http://domain.com/querystring – Ron 2012-07-27 14:46:38
@Ron:是的,你說得對。我編輯過。 – 2012-07-27 14:52:37
如果您只是想使用URI的一部分,爲您的查詢,您可以從$ _ SERVER類似這樣的超級全局讓整個URI,然後打破它拆開來得到什麼您可能需要的部分
$uri = $_SERVER['REQUEST_URI'];
$pieces = explode("/", $uri);
$myQuery = $pieces[1];
請參見['mod_rewrite'](http://httpd.apache.org/docs/current/mod/mod_rewrite.html)。 – 2012-07-27 14:43:20
我不記得我的頭,但是可以使用'$ _SERVER'中的一個鍵。 'print_r($ _ SERVER)'應該告訴你。 – zneak 2012-07-27 14:43:44