1

プロジェクトの 1 つで PHP リダイレクトを使用しています。私はこのようにします:

header( 'Location: http://domain.net/?cig=warn&onum=' . $onum . '&cnum=' . $cnum . '&c=' . $c . '#Form' );

ご覧のheader()とおり、いくつかの変数が URL に含まれているのは、PHP の関数の通常の使用です。
動作していますが、Firebug でページをテストすると、コンソールに次のエラーが表示されます。

"NetworkError: 404 Not Found - http://domain.net/?cig=warn&onum=12&cnum=73&c=ui#Form"

私のやり方に実際に何か問題がありますか、それともすべてのパラメータとアンカーのために Firebug がうるさいだけですか?

4

1 に答える 1

0

このページは WordPress 環境内にあるため、ヘッダーが送信される前に (WordPress のstatus_header()関数を使用して) 手動で設定して、ステータス コード 200 を強制する必要があります。

<?php
// This must appear before any output is sent!
status_header(200);
?>

もちろん、これを実現するには WordPress の関数を取り込む必要があります。問題は、ページがリクエストを処理する前に、WordPress がリクエストをインターセプトしていることです。「ページ」を見つけることができず、最終的に送り返される 404 応答コードを設定します。

以前、WordPress の機能を取り込まなければならなかったときは、ページに次の 2 行を含めました。

define('WP_USE_THEMES', false);
require_once("/path/to/my/site/wp-blog-header.php");

そうは言っても、過去にこれを行ったページは、WordPress インストールのページと同じルック アンド フィールを持っていました。関数だけを取り込むには、もっと良い方法があるかもしれません。調べるには、WordPress のドキュメントを参照する必要があります (存在するかどうかはわかりません)。それを適切に行う方法は、 WordPress StackExchange サイトの良い質問かもしれません。

于 2013-02-21T20:21:05.207 に答える