嘿伙计我有个问题。我想为每个新用户创建一个个人资料页面,我注意到你可以在Facebook上输入www.facebook.com/username,然后进入用户的页面,我的问题是,如果没有像域这样的东西我怎么能这样做.com / users.php?useraname =“username”或类似的东西?我怎样才能像facebook那样简单地制作它?
答案 0 :(得分:2)
您正在寻找的是mod_rewrite。这将允许您编写最终用户看来的PHP代码作为服务器上的目录(例如www.facebook.com/user.php?username到www.facebook.com/username。)
可以在此处找到使用PHP的介绍:http://wettone.com/code/clean-urls
请注意,您需要在服务器上启用它。如果您正在运行Apache服务器,那么应该可以在.htaccess文件中使用。
答案 1 :(得分:0)
这不是一个完整的答案,因为我不是一个php人
你正在寻找一个RESTful网址,如果你使用支持restful urls的框架,大多数你可以在你的网络应用上获得这样的网址
见这个问题:
REST-style URLS and PHP
参见这篇文章:
http://blog.garethj.com/2009/02/building-a-restful-web-application-with-php/
答案 2 :(得分:0)
单靠PHP无法做到这一点。 Web服务器需要首先知道如何处理这类请求。
因为简单地说,Web服务器只接受请求并尝试将其映射到文档根目录下面的文件系统中的文件。如果找不到合适的文件,则会返回404错误代码。
现在几乎每个网络服务器软件都有某种URL rewriting机制。如果Apache是最流行的Web服务器软件,那么mod_rewrite允许基于规则进行URL重写。在这种情况下,以下内容可以通过/users.php?username=username
启用/username
:
RewriteEngin on
RewriteRule ^[a-z]+$ index.php?username=$0
答案 3 :(得分:0)
选项+ FollowSymLinks
RewriteEngine On
RewriteBase / php / profile
RewriteCond%{SCRIPT_FILENAME}!-d
RewriteCond%{SCRIPT_FILENAME}! - f
RewriteRule ^ users /(。) $ ./profile.php
http://exapmle.com/users/waqar.alamgir
在$ _SERVER ['REQUEST_URI']中你会看到users / waqar.alamgir