我正在用PHP創建一個網站。我想爲我的用戶創建個人資料頁面。我能做到這樣:如何在沒有密鑰的URL中發佈參數
http://stackoverflow.com/users.php?uid=5272693&uname=fullofquestion
,但我想刪除PHP擴展和參數鍵,像這樣做:
http://stackoverflow.com/users/5272693/fullofquestion
我該怎麼辦呢?
我正在用PHP創建一個網站。我想爲我的用戶創建個人資料頁面。我能做到這樣:如何在沒有密鑰的URL中發佈參數
http://stackoverflow.com/users.php?uid=5272693&uname=fullofquestion
,但我想刪除PHP擴展和參數鍵,像這樣做:
http://stackoverflow.com/users/5272693/fullofquestion
我該怎麼辦呢?
創建一個在你的根目錄下名爲.htaccess
文件,並添加這些行:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^users/(.*)/(.*)$ /users.php?uid=$1&uname=$2 [L]
</IfModule>
這應該做的伎倆。
首先,你需要創建.htaccess
文件重定向到users
users.php
:
RewriteEngine On
RewriteRule ^/?users/(.+)$ users.php [L]
然後在users.php
你可以用$_SERVER['PATH_INFO']
訪問URL的/5272693/fullofquestion
部分。
ps。我對RewriteRule:s不太好,所以如果這不起作用,請嘗試使用'.../users.php/5272693/fullofquestion'這樣的路徑。如果這個工作,但'.../users/...'不然,這個RewriteRule是錯誤的。在這兩種情況下,您都可以使用'$ _SERVER ['PATH_INFO']'。 –
用這種方法,我應該爲每個url寫一條規則。用戶可以通過.php訪問鏈接。 – fullOfQuestion
@fullOfQuestion你的意思是「爲每個網址」?您需要哪些其他類型的網址? –
你正在談論URL重寫和休息調用,使用.htaccess和任何休息框架 – Satya
你會想看看URL重寫 – scottevans93
請給我一些示例代碼。 – fullOfQuestion