可以在纯ColdFusion解决方案中实现清理URL吗?

时间:2011-01-25 13:46:18

标签: coldfusion clean-urls

我们需要根据ColdFusion技术估算门户网站。我们没有关于托管环境的信息(可能是Windows或Linux)。

所请求的功能之一是干净的URL。有谁知道这是否可以通过纯ColdFusion解决方案实现,还是这总是与Web服务器相关?我知道IIS7有很好的扩展,可以启用干净的URL,但我担心我们不能依赖它们。

2 个答案:

答案 0 :(得分:6)

您可以使用ColdFusion的Application.cfc onMissingTemplate()方法来实现此效果。如果你想要.cfm之外的扩展,你需要做一些Web服务器配置,以使ColdFusion服务其他扩展和目录路径(例如/path/to/something/)需要配置为具有标准的默认文档(例如{ {1}})。 Ben Nadel has a blog post that covers this idea extensively - 请务必查看评论。

注意到,IIS 7Apache都有URL重写模块(假设它们分别是Windows和Linux中的Web服务器)。因此,如果您知道您的URL模式,那么模块就更容易了。但是,如果模式是动态的,单独的ColdFusion可能是更好的,如果更复杂的路径,您将需要配置Web服务器,如上所述。

答案 1 :(得分:1)

另一种选择。

查看Ray Camden(www.coldfusionjedi.com)的“blogCFC”......它使用纯粹的CF方法来访问SES网址,而不需要缺少模板方法。

网址如/blabh.com/index.cfm/something/somethingelse

中间的.cfm不是形式 - 但它运作良好,他的博客软件很好地适应了索引引擎。我用它。

另一个选择是在Web服务器上使用404处理程序..这确实需要一些配置 - 但只在一个地方,你不必为像mod_rewrite这样的过滤器编写规则......但是,它可能如果你有一个限制性的托管合同,那就超出了你所能达到的目标。这是关于该主题的帖子。

http://www.coldfusionmuse.com/index.cfm?mode=entry&entry=8F4658E4-0763-5FB7-67D23B839AB74005

-Mark