2013-08-04 72 views
0

後的頁面名稱我有一個看起來像網址:GET參數將成爲改寫

/platforms.php?platform_id=xxx 

其中xxx是一個數字

我重寫PHP應用程序內的URL。因此,例如上面的URL看起來像:

/xbox/ or /playstation/ 

現在在.htaccess我:

RewriteRule ^([^/]+)/$ platforms.php?platform_id=$1 [L,QSA] 

但是當我去到一個平臺頁面獲取URL成爲/xbox/ or /playstation/,而不是xxx

任何指針,將不勝感激。

更新:

嗨,鏈接是不相關的我的問題。我試圖在下面的例子中重新描述我所追求的細節。

感謝您的回答,並對錯誤的解釋感到抱歉。

是的,當我說GET url我指的是$ _GET [「platform_id」]。

基本上我有稱爲URL

www.example.com/platforms.php?platform_id=1

在上面的例子$ _GET [ '平臺_id'] = 1

在實際的php應用程序我有一個函數(我們稱之爲make_link),使用上面的URL輸出如下:

www.example.com/xbox/(因爲1是xbox平臺的ID)

現在在httaccess中,我還需要一個重寫規則,使訪問URL的工作。

所以我必須:

重寫規則^([^ /] +)/ $ platforms.php平臺_id = $ 1 [L,QSA]

這確實讓中的條款重寫的工作,我可以訪問

www.example.com/xbox/

但是新接入的頁面上,如果我得到$ _GET [ '平臺_id'],它的值是的Xbox /。

謝謝,

+0

可能重複[$ \ _ GET和URL重寫PHP(http://stackoverflow.com/questions/505338/ get-and-url-rewriting-for-php) – Shiva

+0

您能否詳細說明「我正在重寫php應用程序中的URL」。你是否通過PHP重定向?如果是的話,你是否像'/ xbox /?platform_id = 1'那樣附加'id'? –

回答

0

在重寫規則,$1是逆向引用的第一正則表達式(你的情況:([^/]+))的變量。

因此,無論您的網址的哪部分文字形式爲$1

如果您想使用控制檯的ID,則必須將這些ID設置爲網址的一部分。如果你不想這樣做,但是如果你想讓你漂亮的URL反映控制檯的名字,你必須在你的.htaccess文件中重寫platforms.php?platform_id=$1的查詢部分。

代替查詢ID(?platform_id=$1),您必須查詢控制檯的名稱,例如, ?platform_name=$1

編輯:
在你的PHP文件,你會再使用​​

+0

盧西恩,這是你在找什麼? – Kay