设计“漂亮”的URL

时间:2011-01-21 18:55:50

标签: client-side server-side friendly-url

我知道将{丑陋网址转换为漂亮网址的mod_rewrite方法。我的问题是在转换之前。

我还没有开发我的网站。我想设计所有页面,以便漂亮的URL在服务器端也很漂亮。

我想为所有页面提出一般规则。通常所有页面都略有不同......

/news/12345                        =>    /news.php?id=1234
/members/Mikhail                   =>    /members.php?name=Mikhail
/subsection/page/banned-members    =>    /subsection/page.php?view=banned-members

在上面的三个例子中,GET变量名称对于每种情况都是不同的,第三个例子也可以被开发为解释为/subsection.php?file=page&view=banned-members

所以我的问题是:从设计的角度来看,我能做些什么,在客户端和服务器端有一个优雅的解决方案来创建漂亮的网址?

谢谢!

3 个答案:

答案 0 :(得分:3)

一般的经验法则是使用网址的一部分来识别资源,并使用GET参数来修改资源的显示方式。

例如,对于用户个人资料网址:

/用户/乔

/用户/乔?showfull = 1

相同的资源(用户个人资料),但后者指定如何呈现信息(显示有关用户的完整信息而不是默认金额)。

将此约定应用于上述示例,我更愿意:

/news/12345
/members/Mikhail 
/subsection/page?view=banned-members

答案 1 :(得分:1)

在PHP中,一种可能的解决方案是拥有一个处理站点所有URL的中央PHP文件。此脚本处理整个URL字符串并加载相关内容。它允许在PHP中完成各种重写或重定向。

答案 2 :(得分:0)

使用ASP.NET MVC框架是“漂亮URL”设计的典型代表

编辑:对不起,没有注意到你的PHP文件......也有很多PHP MVC框架(虽然我没有经验看看网址的外观)