3

これを十分に明確に説明できることを願っていますが、そうでない場合はお知らせください。明確にしようと思います。

現在、ColdFusion を使用してサイトを開発しており、サイトが PHP を使用しているように見せるために mod_rewrite ルールを設定しています。index.php に対する要求はすべて index.cfm によって処理されます (ルールは *.php を *.cfm にマップします)。

これはうまく機能します-これまでのところ、とても良いです。問題は、index.cfm (または任意の ColdFusion ページ) が直接要求された場合に 404 ステータス コードを返したいことです。

mod_rewrite を使用して *.cfm ファイルへのアクセスをブロックしようとすると、*.php への要求に対しても 404 が返されます。

.htaccessを使用するのではなく、Apache構成を変更する必要があるかもしれないと思います

4

3 に答える 3

1

次のように、フラグを使用してルールSをスキップできます。404

RewriteEngine on

# Do not separate these two rules so long as the first has S=1
RewriteRule (.*)\.php$ $1.cfm [S=1]
RewriteRule \.cfm$ - [R=404]

このオプションも使用している場合は、フラグAliasも追加する必要があります。PT詳細については、mod_rewriteのドキュメントを参照してください。

于 2008-08-15T08:02:25.513 に答える
0

あなたが既に持っているルールを出発点として投稿し、人々があなたを助けるためにそれを再作成する必要がないようにします.

最初に試すこととして、.php を .cfm ファイルにマップするルールで [L] をテストすることをお勧めします。

于 2008-08-12T14:06:42.900 に答える
0

1 つは .php 用、もう 1 つは .chm 用の 2 つの異なるグループの書き換えルールを使用し、RewriteCond %{REQUEST_FILENAME} で相互に排他的にする必要があります。jj33 で提案されているように、フラグ [L] を使用します。

ルールは .htaccess に保持できます。

于 2008-08-12T14:57:47.303 に答える