我需要有关研究以下问题的建议。
Wheels 网站已配置 set(URLRewriting="On")
,除了根页面外,一切看起来都很好。
使用linkTo
构建的所有链接看起来都像website.tld/controller/action
。
但是在/模式下“切换”到部分,链接看起来像 website.tld/index.cfm/controller/action
。有趣的是,如果显式访问默认路由页面(在本例中为/pages/index)——URL 构建正确。
网站在 Ubuntu 下的 Tomcat 和 Apache2 中运行,直接在虚拟主机配置中配置标准 Wheels 重写规则,作为 .htaccess 已知问题的解决方法。
从哪里开始?要检查哪些变量以及如何调试?
谢谢。
UPD 目前我能看到的是,当直接访问默认操作时,调试输出中没有 Route: home
。不确定如何使用此信息,我对 Wheels 的经验非常少。
最佳答案
我有一个非常相似的设置,刚才遇到了同样的问题。作为临时解决方法,我发现通过更改wheels/global/public.cfm的第294行
loc.returnValue = application.wheels.webPath & ListLast(request.cgi.script_name, "/");
至
loc.returnValue = application.wheels.webPath;
linkTo() 构建了一个可用于 URL 重写的路径。我会联系一些更熟悉 Wheels 的 friend ,看看是否需要补丁来修复这个问题。
关于tomcat - CFWheels网站根目录的不同重写模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6312509/