【发布时间】:2012-10-02 03:14:18
【问题描述】:
快速参考:区域 = 门户类型页面。
我想要旧网址 http://domain.com/long/rubbish/url/blah/blah/index.cfm?id=12345 重定向到 http://domain.com/area/12345-short-title
http://domain.com/area/12345-short-title 应该会显示内容。
到目前为止,我已经解决了这个问题,我可以使用 apache 将所有 URL 写入
http://domain.com/index.cfm/long/rubbish/url/blah/blah/index.cfm?id=12345 和 http://domain.com/index.cfm/area/12345-short-title
index.cfm 将提供内容或应用永久重定向,但它需要先从数据库中获取标题和区域信息。
本网站有 50,000 个页面。对于子域重定向和永久子域以及通过 index.cfm 控制它们的行为方式,我还有其他想法。
基础设施热衷于通过 Apache 重写来做尽可能多的事情,我们怀疑它会更快。但是,如果我们需要获取每个页面的区域和标题信息,我不确定我们是否有这种选择。
有没有人有这方面的经验可以提供意见?
--
需要注意的是,我假设我们必须将网站上使用的所有内部 URL 保留为旧格式。改变它们将是一项艰巨的工作。
这意味着所有内部 URL 每次都必须使用永久重定向。
【问题讨论】:
-
您要处理多少个区域?这是一个相当静态的列表?
-
嗯,有 100 个区域,有 50,000 页。它每天都在增长/变化。区域是太空任务,页面是这些任务的内容,并且“属于”特定区域。
-
我不明白你说的是什么意思...需要先从数据库中获取地名和地区信息。” - 你为什么需要这些?
-
如果有人尝试使用旧 URL domain.com/long/rubbish/url/blah/blah/index.cfm?id=12345 访问该网站,我希望他们会被重定向到新 URL。这是正常的事情吗?为此,“控制器”需要知道标题和区域名称。
-
是的,当您发送 301 或 302 响应时,这就是您得到的。但是由于您有不同的 URL 格式,因此只需对旧 URL 进行查找。我没有看到将两种类型发送到单个 index.cfm 的好处
标签: apache mod-rewrite coldfusion friendly-url seo