1

OS X Lion および Coldfusion 9 開発者版で Apache を実行しています。次の .htaccess ファイルがあります。

Options +FollowSymlinks
Options +Indexes RewriteEngine on RewriteBase /

RewriteCond %{REQUEST_URI} !=/index.cfm [NC]
RewriteRule ^([^/]+)/?$ /index.cfm?page=$1 [L,NC]
RewriteRule ^([^/]+)/([^/]+)/?$ /index.cfm?app=$1&page=$2 [L,NC]

mydomain.com/something や mydomain.com/something/else などの URL を処理するように設計されています。かなり普通のもの。

次のような cfimport タグを含むファイルをロードするまで、すべてが正常に機能しているようです。

<cfimport prefix="myLib" taglib="/lib/tags">

RewriteLog は、これがピックアップされ、処理され、リダイレクトされることを示しています。これはもちろん、すべてを壊します。

次のようないくつかの条件を追加しようとしました。

RewriteCond %{REQUEST_URI} !=lib/tags/ [NC]
    RewriteCond %{REQUEST_URI} !=lib/tags [NC]
    RewriteCond %{REQUEST_URI} !=/lib/tags/ [NC]
    RewriteCond %{REQUEST_URI} !=/lib/tags [NC]
    
それらのどれも問題を防ぎません。

次のようにロードするようにディレクトリを再構築すると、次のようになります。

<cfimport prefix="myLib" taglib="/lib/dir/tags">
すべて順調。これはグループ開発プロジェクトであり、私だけが問題を抱えており、Windows/IIS が対象の展開環境であるため、これはオプションではありません。

上部に表示されている基本的な .htaccess ファイルは、Apache を実行している同僚の Windows マシンで動作するように見えます。

4

1 に答える 1

1

なぜ/どのように cfimport が mod_rewrite を起動させているのかわかりません - そのために Web サーバーと通信するべきではありません。

/libたぶん、CF 管理でマッピングを作成する必要がありますか?


lib/tagsとにかく、次のように、最初に否定的な先読みを前に付けて無視するよう に指示することで、おそらく書き換えルールをいじるのを止めることができます。

(?!lib/tags)

^それを2 番目の式の for の後に置きます。

于 2011-11-15T19:06:11.640 に答える