2011-01-25 48 views
3

我們需要根據ColdFusion技術來估計門戶。我們沒有關於託管環境的信息(可能是Windows或Linux)。純淨的ColdFusion解決方案可以實現乾淨的URL嗎?

其中一個要求的功能是乾淨的URL。有誰知道這是否可以通過純ColdFusion解決方案實現,還是始終與Web服務器相關?我知道有很多IIS7整潔的擴展來啓用乾淨的URL,但恐怕我們不能依賴這些擴展。

+0

那麼,如果你只打算使用的ColdFusion,它可以或許* *來完成,但是這將是一個工作位。這當然取決於你想要做什麼。 – duncan 2011-01-25 14:08:29

+0

你的意思是你想要搜索引擎友好的網址?這更像是面向Web服務器的解決方案/問題,然後是Coldfusion。但是,它可以完成,但有效完成,我不這麼認爲。在Apache和IIS中執行起來要容易得多。 – crosenblum 2011-01-25 14:55:40

回答

6

您可以使用ColdFusion的Application.cfconMissingTemplate()方法來實現此效果。如果您想要擴展名爲.cfm以外的其他擴展名,則需要進行一些Web服務器配置,以使ColdFusion能夠爲其他擴展和目錄路徑(例如/path/to/something/)配置爲具有標準默認文檔(例如index.cfm)。 Ben Nadel has a blog post that covers this idea extensively - 一定要檢查評論。

請注意,IIS 7Apache都有URL重寫模塊(假設它們分別是Windows和Linux中的Web服務器)。所以這是一種情況,如果你知道你的URL模式,模塊是一個更簡單的路線。但是,如果模式是動態的,則ColdFusion本身可能更好,如果更復雜的路徑,則需要按照上面的解釋配置Web服務器。

1

另一種選擇。

查看Ray Camden(www.coldfusionjedi.com)的「blogCFC」...它使用純粹的CF方法訪問SES網址,但沒有缺少模板方法。

中的URL看起來像/blabh.com/index.cfm/something/somethingelse

中間的.CFM不是形式上的 - 但它工作得很好,他的博客軟件獲取的拿起索引引擎很不錯。我用它。

還有一種選擇是在Web服務器上使用404處理程序..這確實需要一些配置 - 但只能在一個地方,你不必爲mod_rewrite之類的過濾器編寫規則......但是,可能會超出您可以完成的任務,如果您擁有限制性託管合同。這是關於這個話題的帖子。

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

馬克