我认为标题说明了一切。问题是我的应用程序是基于 Zend 框架的,并且包含许多控制器。主要控制器有:
Companies/
People/
Countries/
最初,可以通过以下网址访问国家资料网址:
example.com/countries/view/id/Korea
我通过添加路由器来缩短它
example.com/countries/Korea
但是,客户需要进一步缩短为:
example.com/Korea
将国家/地区的名称(在这种情况下为 url 参数)带入控制器的位置。另外,客户要求所有网址都以类似的方式缩短,所以一个公司的网址曾经读过类似的内容:
example.com/companies/acme-corporation-1234
其中 1234 是公司的 ID,用于读取以下内容:
example.com/acme-corporation-company
我可以理解国家名称的独特性,因为没有任何两个国家名称相似,但是我怀疑我可以为公司完成相同的事情,因为您可以拥有许多名称相似的公司。我查看了 Gogobot.com 并注意到该网站上的所有网址都非常易于阅读,甚至在任何地方都没有包含单个 ID 号。
有没有关于如何做到这一点的任何想法,即进一步缩短 - 所以 example.com/korea 并不意味着韩国作为控制器,而是作为 example.com/countries/korea 的链接,同样是 url example.com/countries仍应被解释为对国家控制器的呼叫。