4

だから... カスタム CMS があります。すべてのページ要求 (ファイルが存在しない場合) は root/index.cfm ファイルに送られるという書き換え規則があります。そこで、DB で問題のページを検索します。ページが存在する場合は、正しいテンプレートなどを提供します。ページが存在しない場合は、404 ページをサーバーにアップします。CFでリクエストを処理する必要があるため、IISではこれを実行できないと「思う」ので、通過する必要があります。ファイルは常に存在します。私が使用しようとしたページが存在しない場合<cfheader statusCode="404" >、いくつかのhtmlを含めてThe resource you are looking for has been removed, had its name changed, or is temporarily unavailable.、htmlの前にページの上部に配置します。ページを表示するには、IIS から 404 ステータス コード ハンドラーを削除する必要がありました。

さらに、Google として取得すると、301 になります。ただし、Firefox で応答ヘッダーを表示すると、取得されます。

Transfer-Encoding: chunked
Content-Type: text/html
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Wed, 16 Jan 2013 21:31:42 GMT
404 Not Found

リダイレクトとあらゆる種類のものを組み合わせてみました。方法があれば、IIS に 404 を処理させることにオープンですが、Coldfusion に 404 を正しく配信させる方法がわかりません。この時点よりも前に「ソフト 404」を配信しているため、ウェブマスター ツールに怒られるので、それを修正しようとしています。

また、それが何をするのかを設定しようとしまし<httpErrors existingResponse="PassThrough" />たが、どちらも機能しませんでした。私はこれを理解しようとして他のスレッドを調べてきましたが、できません。

編集:これをさらに調べて、Firebug と Chrome の両方でヘッダー情報を表示すると、ヘッダーに 404 と表示されていることがはっきりとわかります。Fetch as Bing と Fetch as Google の言い方が異なるのはなぜですか?

URL に .cfm を追加すると、Fetch as Google が 404 を表示するという事実をテストしました。

答えの種類:

それで、今朝(実際に報奨金を追加した直後に)さらにテストを行っていたところ、ウェブマスター ツールで、Google が私のページの 1 つを 404 として正しく記録していることに気付きました。「末尾のスラッシュルールを追加」があります。domain.com/pageGoogleは 301 (正しいと思います) として通知しdomain.com/page/ます。しかし、それは 404 として通知domain.com/page/します。私が持っているように末尾のスラッシュ ルールを使用するのは正しい方法だと思いますが、何か違うことをしている必要があるか、またはスラッシュ付きのリダイレクトを使用して「正しい」方法で物事を行う必要があります。 Googleは時々私にそれを求めたいと思っていますが.

4

1 に答える 1

0

私はあなたのアプローチの詳細に従っているかどうか完全に確信が持てないので、このアプローチをうまく機能させるために確認する必要があるいくつかのことを紹介します (または、少なくとも私にとって最も効果的でした)。

[エラー ページ] の下で、404 エラー ページが [このサイトで URL を実行する] に設定されていることを確認します (私は通常、"/404.cfm" などに設定します)。これにより、ColdFusion ページが 404 ページに対して正しく呼び出されるようになります (正しく動作しているようです)。

[Handler Mappings] の下で、「.cfm」のハンドラをダブルクリックします。次に、「リクエスト制限...」ボタンをクリックします。「マッピング」タブが開きます。「リクエストがマップされている場合にのみハンドラーを呼び出す:」チェックボックスをオンにしないでください。

ファイルが存在しない場合、IIS が ColdFusion を起動しないことを意味するため、これはこの種の操作を実際に失敗させる可能性があります。404 が正しく設定されている場合、これは問題にはなりませんが、それでも調べる必要があります。

「ハンドラー マッピング」セクションで、パスが「*」の IsapiModule を探します。私は常にColdFusionに設定されています-それが違いを生むかどうかはわかりません。

他に注目すべきは、「既定のドキュメント」の設定です。これは、フォルダーへの転送時に影響を与える可能性があることに注意してください。

また、書き換えルールをもう一度見て、スラッシュが既に存在する場所に追加されていないことを確認することもできます。

于 2013-01-29T15:45:23.393 に答える