2011-11-11 52 views
0

使用mod_rewrite使用$ _GET ['variable']來獲取信息/頁面非常簡單。你如何給用戶做這個選擇。例如:默認情況下,網址爲blah.com/user?id=74378。現在他們可以手動創建自己的URL(如果可用)。這是如何完成的?謝謝如何讓用戶「選項」在PHP中創建自己的URL

回答

0

你可以保持與使用的URL列表中選擇一個表。這是檢查並警告用戶如果URL不可用。然後,如果用戶嘗試blah.com/user/myspecialurl,htaccess應該調用blah.com/user?url=myspecialurl。然後使用該表查找用戶標識並使用GET變量獲取內容。

這一切就是你的URL

+0

對,很簡單。因此,與「if_available_url」表一起,我可以在「users」表中添加一個URL列,默認情況下爲空,然後在用戶指定URL時更新它。在PHP腳本中,我可以創建一個if/else來確定是否查詢新URL是否設置。否則,如果設置了user_id,它將默認爲。 – Graham

+0

與任何項目一樣,您需要小心數據庫模式。根據用戶表或url表所需的詳細信息類型,您可以直接使用'user'表,或者在'if_url_available'表中添加一個'userid'字段。無論如何,模式是非常特定於您的需求的東西。 – abhinav

0

使用PHP模塊mod_rewrite的固定格式/限制的假設下,以及規則的htaccess:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?page=$1 [L,QSA] 

和index.php文件:

$page = isset($_GET['page']) ? $_GET['page'] : 'index'; 
// filter var $page 
// .. 
// then include needed page 
include './pages/'.$page; 
// or get content from sql 
sql(..WHERE page = $page..) 
相關問題