2

CFWheels サイトは Web ルートの subfolder/ の下で実行されており、subfolder/ と同じレベルに web.config があります。私の web.config には、URL から「subfolder/index.cfm/」を削除するために必要な URL 書き換えルールがあります。

を使用してデフォルトの「javascripts」フォルダーからJavascriptファイルを含めようとすると、問題が発生します

javaScriptIncludeTag("script.js")

デフォルトでは、cfwheels は /subfolder/javascripts/ で JS ファイルを探します。ただし、URL から subfolder/ を削除したため、/subfolder/javascripts/script.js へのリクエストは次のエラー メッセージで失敗します。

Wheels.ViewNotFound

サブフォルダ コントローラで JavaScript アクションのビュー ページが見つかりませんでした。

偽物。「javascripts」と「サブフォルダー」はアクションでもコントローラーでもありません。

/javscripts/script.js へのリクエストは成功すると思います。subfolder/ 内の javascripts/ フォルダーを検索しないように cfwheels に指示するにはどうすればよいですか?

ドキュメントで答えを見つけることができませんでした。また、CFWheels Google グループでも何の回答も得られませんでした。このような答えを探していますが、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/

これは別の URL リライタ用でしたが、ルールを IIS7 に移植できると確信しています。

于 2011-03-24T20:37:56.223 に答える