如何制作这样的链接www.facebook.com/Lukavyi?

时间:2011-09-25 14:37:53

标签: php facebook apache hyperlink

如何建立像www.facebook.com/Lukavyi这样的链接? 每个用户必须有单独的php文件才能有这样的链接吗?我知道,你可以用apache以某种方式改变url,但是当用户点击它时链接被改回来了吗?

2 个答案:

答案 0 :(得分:4)

这可以通过Apache的mod_rewrite URL重写引擎完成。您可以指定URL模式并将所有请求定向到您喜欢的页面或PHP脚本。

它的工作原理是创建一个.htaccess文件并在其中设置规则。例如:

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^users/(.*)$ users.php?username=$1

前两行确保启用了重写引擎,第三行将所有传入的/users/MyUserName地址请求命令内部重定向到users.php?username=MyUserName。用户将看不到最终地址,只看到“干净”版本。

如果您不希望网址中有users/部分,而是希望yoursite.com/MyUserName改为工作,那么您必须创建一个front controller来处理所有传入的请求。

答案 1 :(得分:0)

通过使用.htaccess和mod_rewrite,您可以处理此问题。

例如:

您希望每个用户拥有自己的网址,例如www.example.com/user/UserName 但是希望你的服务器调用www.example.com/user.php?name=UserName你创建一个像这样的.htaccess:

RewriteEngine on
RewriteRule ^user/(.*)$ /user.php?name=$1 [L]

如果您收到错误或无效,请尝试在.htaccess上添加此代码:

Options +FollowSymLinks

在.htaccess中添加[L]会阻止您的浏览器重定向到user.php?name=UserName并仍显示/user/Username,但会使用/user.php?name=UserName。使用[R]将重定向。