虚荣URL但有设置

时间:2012-09-10 11:22:49

标签: .htaccess

只是一个简单的问题,

我正在为我的网站制作用户个人资料,并希望包含虚荣URL,但该页面有很多单独的信息被加载,例如关注者标签,上传标签,并且每个都有某种设置可以应用如ASC DESC,新/旧结果等。拥有虚荣网址但保留我需要的功能的最佳方法是什么?

每个结果的

http://www.site.com/user.php?id=1&content=Followers&Order=(Different设置)

但是我想知道如果有人想要搜索关注者+限制,我会不应该更好地命名内容,例如

http://www.site.com/user.php?id=1&content=NewestFollowers

而不是

http://www.site.com/user.php?id=1&content=Followers&Order=Newest

1 个答案:

答案 0 :(得分:0)

您通常希望构建虚荣URL,以便直接将查询字符串参数映射到丑陋的URL。所以如果你有:

http://www.site.com/user.php?id=1&content=Followers&Order=Newest

您可以将虚荣网址设为:

http://www.site.com/u/1/Followers/Newest/

但是/1/位有点难看,并不完全虚荣,所以如果你可以通过该查询字符串参数传递用户名,它看起来会更好:

http://www.site.com/u/jonlin/Followers/Newest/

然后你只需要在文档根目录中的htaccess文件中放入一些mod_rewrite规则,这些规则在内部将虚荣URL重写为丑陋的URL:

RewriteEngine On
RewriteRule ^u/([^/]+)/([^/]+)/([^/]+)/?$ /user.php?id=$1&content=$2&Order=$3 [L,QSA]
RewriteRule ^u/([^/]+)/([^/]+)/?$ /user.php?id=$1&content=$2 [L,QSA]
RewriteRule ^u/([^/]+)/?$ /user.php?id=$1 [L,QSA]