我的 CFWheels 站点在 web 根目录下的 subfolder/ 下运行,并且我的 web.config 与 subfolder/ 处于同一级别。在我的 web.config 中,我有必要的 URL 重写规则来从 URL 中删除“subfolder/index.cfm/”。
当我尝试使用从默认的“javascripts”文件夹中包含一个 Javascript 文件时,我的问题出现了
javaScriptIncludeTag("script.js")
默认情况下,cfwheels 在 /subfolder/javascripts/ 中查找 JS 文件。但是,我已从 URL 中删除了 subfolder/,因此对 /subfolder/javascripts/script.js 的请求失败并显示以下错误消息:
Wheels.ViewNotFound
在子文件夹控制器中找不到 javascripts 操作的视图页面。
虚假。“javascripts”和“子文件夹”不是动作和控制器。
我相信对 /javscripts/script.js 的请求会成功。如何告诉 cfwheels 不要在子文件夹/中查找 javascripts/ 文件夹?
我无法在文档中找到答案,也没有在 CFWheels Google Group 上得到任何回复。我正在寻找这样的答案,但特定于 CFWheels。
编辑
IIS 7 web.config 重写:
<rule name="Remove subfolder/index.cfm">
<match url="(.*)" />
<action type="Rewrite" url="/subfolder/index.cfm/{R:0}" />
</rule>
如果这条规则不正确,我的问题可能就在这里,我不确定。
linkTo() 实际上也链接到不正确的路径。
linkTo(text="Say Hello", controller="say", action="hello")
输出
<a href="http://mysite.com/subfolder/index.cfm/say/hello">Say Hello</a>