2011-11-11 55 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..) 
相关问题