如何建立像www.facebook.com/Lukavyi这样的链接? 每个用户必须有单独的php文件才能有这样的链接吗?我知道,你可以用apache以某种方式改变url,但是当用户点击它时链接被改回来了吗?
答案 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]
将重定向。