我的域名结构为domain.com/username(就像在twitter / facebook等中一样)。
我的知识是,我要使用用户名创建一个目录,并将文件放在其中以便从该URL进行查看。
是否有更好的方式来处理URL而不为每个用户创建目录,只是检索URL并找出它是哪个用户的页面&仅从主域(即domain.com索引页)加载来自数据库的用户数据??
答案 0 :(得分:2)
mod_rewrite的
http://www.workingwith.me.uk/articles/scripting/mod_rewrite
基本上,您的“真实”网址看起来像domain.com/profile.php?name=Andrew
,它会显示具有该名称的用户的所有信息。然后,您可以使用mod_rewrite并使domain.com/andrew
成为domain.com/profile.php?name=Andrew
的“快捷方式”。
刚试过这个,它运行良好:
profile.php -
<?php
echo '<h1>' . ucwords($_GET['name']) . '</h1>';
?>
.htaccess -
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/\.]+)/?$ profile.php?name=$1 [L]
当我访问http://localhost/andrew时,我会看到我的名字,就像我应该的那样。
答案 1 :(得分:1)
是的,通过将所有非真实文件的请求重写为显示所请求用户数据的PHP脚本。将它放在.htaccess文件或httpd.conf中以使用Apache的mod_rewrite:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /username.php [L]
然后,username.php可以查看$_SERVER['REQUEST_URI']
以查看网址,选择用户名并显示相应的内容。