2012-09-10 41 views
0

只是一个简单的问题,虚荣URL但随着设置

我提出的用户配置文件为我的网站,并希望包括个性化网址,但网页已经有很多这被加载单独的信息,如关注标签,上传选项卡,并且其中每个都有一些可以应用的设置,如ASC DESC,新旧结果等。有什么最好的方式来使虚荣的URL,但保持我需要的功能?对于每个结果

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

+0

非虚荣网址是什么样的? –

+0

编辑该问题:) – user1527354

+0

没有用户名可以传递给的参数,你将被限制为用户ID(例如'1') –

回答

0

您通常需要构造虚空网址,以便它直接将查询字符串参数映射到丑陋的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/ 

然后你只是把一些mod_rewrite的规则,在您的文档根目录的htaccess文件,内部重写虚荣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] 
+0

我看到很多网站,而不是使用/分开那里他们使用#的网址?有没有区别,如果有的话,哪个更好? – user1527354

+0

@ user1527354'#'是一个URL片段,它永远不会发送到服务器,它严格来说是客户端,有时由javascript使用。 –

+0

完美,谢谢。 – user1527354