我的CFWheels网站正在web根目录下的子文件夹/下运行,我的web.config与子文件夹/处于同一级别。在我的web.config中,我有必要的URL重写规则来从URL中删除“subfolder / index.cfm /”。
当我尝试使用
从默认的“javascripts”文件夹中包含Javascript文件时出现问题javaScriptIncludeTag("script.js")
默认情况下,cfwheels在/ subfolder / javascripts /中查找JS文件。但是,我已从URL中删除了子文件夹/,因此对/subfolder/javascripts/script.js的请求失败,并显示以下错误消息:
Wheels.ViewNotFound
无法在子文件夹控制器中找到javascripts操作的视图页面。
伪造。 “javascripts”和“子文件夹”不是动作和控制器。
我相信对/javscripts/script.js的请求会成功。如何告诉cfwheels不要在子文件夹/?
中查找javascripts /文件夹我无法在文档中找到答案,我也没有对CFWheels Google Group做出任何回应。我正在寻找答案such as this,但具体针对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>
答案 0 :(得分:1)
我认为问题在于你忘记否定cfwheels的javascript和其他文件夹。
我做了一段时间后写了封面:
http://rip747.wordpress.com/2009/02/23/cfwheels-url-rewriting-in-a-subfolder/
虽然这是针对不同的网址重写器,但我确信您可以将规则移植到IIS7。