2

我的 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>
4

1 回答 1

1

我认为问题在于您忘记否定 cfwheels 的 javascript 和其他文件夹。

我之前写过这个:

http://rip747.wordpress.com/2009/02/23/cfwheels-url-rewriting-in-a-subfolder/

though this was for a different url rewriter i'm sure you could port the rules to IIS7.

于 2011-03-24T20:37:56.223 回答