1

Framework One(FW / 1)、Coldfusion 10を使用しており、TuckeyURLRewriteFilterを使用してURLからindex.cfmを削除しようとしています。FW / 1設定でgenerateSESをtrueに設定し、SESOmitIndexをtrueに設定しました

urlrewrite.xmlファイルに次のコードがあります

<rule>
    <from>^/(.*)$</from>
    <to last="true">/index.cfm/$1</to>
</rule>

アプリケーションを表示すると404エラーが発生するため、onMissingTemplate()メソッドにCGIスコープをダンプすると、次のキーが目に入ったことがわかります。

PATH_INFO m/
PATH_TRANSLATED C:\Coldfusion10\cfusion\wwwroot\index.cf
CF_TEMPLATE_PATH  C:\Coldfusion10\cfusion\wwwroot\index.cf
SCRIPT_NAME //index.cf

リクエスト/コンテキストなどを破壊しているようです。SOに関する他の投稿を見たことがありますが、回答はありません。

ローカルの組み込みWebサーバーを備えたローカルのWindowsVistaマシンでColdFusion10を使用しています。

誰かが私が間違っていること、またはなぜこれが起こっているのかについていくつかの光を当てることができますか?URLRewriteFilterバージョン4.0.3を使用しています http://urlrewritefilter.googlecode.com/svn/trunk/src/doc/manual/4.0/index.html

4

1 に答える 1

1

> 「FW/1設定でgenerateSESをtrueに設定し、SESOmitIndexをtrueに設定しました」

これらの2つの設定は関係ありません。これらは、buildUrlメソッドの動作にのみ影響します。
(ただし、FW設定で明示的に無効にした場合でも、path_infoが存在すると、その要求に対して「generateSES」フラグがオンに切り替わることがわかっていると便利です。)


URLフィルターを使用している場合は、path_infoを経由することを心配する必要はなく、query_stringに書き換える方が簡単な場合があります。この場合も、上記の設定に関係なく、両方が使用/処理されます。

最初のステップとして、これを試して、何が得られるかを確認してください。

<rule>
    <from>^/(?!index\.cfm|favicon\.ico|list|of|folders)(.*)</from>
    <to last="true">/index.cfm?action=$1</to>
</rule>

あなたはおそらくそこに否定的な先読みに気付くでしょう..-それは実際のファイルとディレクトリが誤ってリダイレクトされるのを防ぎ(?!ます)-他のルートレベルのファイルがあなたの画像を含むトップレベルのフォルダと一緒にそれらを追加するなら/|区切り文字として使用するスタイルシートなど。

于 2012-08-27T13:35:43.927 に答える