2011-06-10 58 views
2

我需要關於研究以下問題的建議。CFWheels網站根目錄的不同重寫模式

車輪網站已配置set(URLRewriting="On"),一切看起來很好,除了根頁面。

linkTo一起構建的所有鏈接看起來像website.tld/controller/action

但在一個/模式「切換」到部分和鏈接看起來像website.tld/index.cfm/controller/action。有趣的是,如果顯式訪問默認路由頁面(在這種情況下爲/ pages/index) - 正確構建的URL。

網站運行在Tomcat中,在Ubuntu下運行Apache2標準Wheels重寫規則直接在vhost配置中配置,作爲解決已知問題的一種解決方法.htaccess。

從哪裏開始?要檢查什麼變量以及如何調試?

謝謝。

UPD我現在可以看到的是,當直接訪問默認操作時,調試輸出中沒有Route: home。不知道如何使用這些信息,我對輪子有很小的經驗。

+1

不知道這是否是答案,所以我會留下評論。如果你不重寫'rewrite.cfm',通常輪子會忽略'set(urlRewriting =「On」)'。確保請求通過'rewrite.cfm'而不是'index.cfm'路由。 – 2011-06-11 14:04:24

+0

@Chris我檢查過CGI範圍,腳本是'index.cfm'。我已修復重寫規則,現在一切正常,請將您的評論發佈爲答案,我會將其標記爲已接受。 – Sergii 2011-06-11 15:53:01

回答

2

既然Chris Peters沒有創建答案,我會這樣做,而不是隻是爲了標記已解決的問題。無論如何,所有的榮耀都歸Chris。

如果您不重寫rewrite.cfm,通常車輪會忽略set(urlRewriting =「On」)。確保請求通過rewrite.cfm路由,而不是index.cfm

這意味着你需要檢查有問題的頁面CGI範圍和修復解決方法重寫規則(也有少數人在Tomcat + CFWheels,我認爲)。

+0

剛纔注意到你問我把它作爲答案。要檢查我的電子郵件通知設置。 : - /很高興你把它整理出來! – 2011-06-16 12:45:44

2

我有一個非常類似的設置,剛纔遇到同樣的問題。作爲臨時解決辦法,我發現,通過改變車輪/全球/ public.cfm線294從

loc.returnValue = application.wheels.webPath & ListLast(request.cgi.script_name, "/"); 

loc.returnValue = application.wheels.webPath; 

是linkTo()建立了與URL重寫工作的路徑。我會ping一些熟悉Wheels的朋友,看看是否有補丁需要解決這個問題。

+0

我剛剛意識到這可能不是完全相同的情況 - 我的問題是,當啓用重寫而不是/ controller/action時,linkTo()正在編寫/index.cfm/controller/action。 – 2011-06-11 04:25:56

+0

羅賓,你的問題看起來完全一樣 - 將'/ index.cfm /'錯誤地插入到生成的URL中。感謝解決方法,雖然我也想聽到Wheels開發人員的一些想法,但我知道其中一些人也是SO用戶。 – Sergii 2011-06-11 07:33:56