Tomcat CFWheels网站根目录的不同重写模式

Tomcat CFWheels网站根目录的不同重写模式,tomcat,coldfusion,url-rewriting,apache2,cfwheels,Tomcat,Coldfusion,Url Rewriting,Apache2,Cfwheels,我需要一个关于研究以下问题的建议 Wheels网站已经设置了set(URLRewriting=“On”)配置,除了根页面之外,一切看起来都很好 使用linkTo构建的所有链接看起来都像website.tld/controller/action 但在a/模式下,“切换”为部分链接,链接看起来像website.tld/index.cfm/controller/action。有趣的是,如果显式访问默认路由页面(本例中为/pages/index)——URL构建正确 该网站在Tomcat中运行,带有Ubu

我需要一个关于研究以下问题的建议

Wheels网站已经设置了
set(URLRewriting=“On”)
配置,除了根页面之外,一切看起来都很好

使用
linkTo
构建的所有链接看起来都像
website.tld/controller/action

但在a/模式下,“切换”为部分链接,链接看起来像
website.tld/index.cfm/controller/action
。有趣的是,如果显式访问默认路由页面(本例中为/pages/index)——URL构建正确

该网站在Tomcat中运行,带有Ubuntu下的Apache2,是直接在vhost配置中配置的标准轮盘重写规则,作为解决.htaccess已知问题的一种方法

从哪里开始?要检查哪些变量以及如何调试这些变量

谢谢


UPD目前我所能看到的是,当直接访问默认操作时,调试输出中没有
Route:home
。不知道如何使用此信息,我对车轮的使用经验很少。

我有一个非常类似的设置,刚才遇到了相同的问题。作为临时解决办法,我发现通过将wheels/global/public.cfm的第294行从

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

该linkTo()构建了一个可用于URL重写的路径。我将ping一些更熟悉Wheels的朋友,看看是否需要修补程序来修复此问题。

由于没有创建答案,我将这样做只是为了标记问题已解决。不管怎样,所有的荣耀都归于克里斯

通常情况下,如果您不重写为rewrite.cfm,控制盘将忽略set(urlRewriting=“On”)。确保请求是通过rewrite.cfm而不是index.cfm路由的


这意味着您需要在有问题的页面上检查CGI范围,并修复重写变通规则(我认为Tomcat+CFWheels的变通规则很少)。

我刚刚意识到这可能不是完全相同的情况-我的问题是linkTo()当启用重写而不是/controller/action.Robin时,您正在写入/index.cfm/controller/action,您的问题看起来完全相同--将
/index.cfm/
错误地插入到生成的URL中。感谢您提供的解决方案,尽管我也想听听Wheels开发人员的一些想法,我知道他们中的一些人也是如此的用户。不确定这是否是答案,所以我将留下评论。通常,如果您没有重写到
rewrite.cfm
,控制盘将忽略
set(urlRewriting=“On”)
。确保请求通过
rewrite.cfm
路由,而不是
index.cfm
@Chris我已经检查了CGI范围,脚本是
index.cfm
。我已经修改了重写规则,现在一切都好了,请将你的评论作为答案发布,我会将其标记为接受。刚才注意到你让我将其作为答案。必须检查我的电子邮件通知设置。:/很高兴你把问题解决了!
loc.returnValue = application.wheels.webPath;