何らかの理由により、header()を呼び出すと内部サーバーエラーが発生します。私はPHP5を使用しており、このスクリプトでmod_rewriteを広範囲に使用しています。ここでは、コード(一種の)です:PHPヘッダー()により内部サーバーエラーが発生する
<?php
include 'core/initialize.php'; // Loads the core class (and session manager class)
if($_GET['reset'] == 'true')
{
$core->Session->Visits = 0;
header('Location', 'index.html');
# header('X-Test', 'wtf'); // causes the error too :(
}
if(isset($core->Session->Visits)) $core->Session->Vists += 1;
else $core->Session->Visits = 0;
echo "Previous Visits: {$core->Session->Visits} (<a href='index.html?reset=true'>Reset</a>)";
?>
は私の.htaccessファイルは、次のようになります。
# Start up the rewrite engine
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ navigator.php?nav=$1&%{QUERY_STRING} [NC]
私は今、かなりダムを感じています。ありがとう –
@Chris T - あまり心配しないでください。遅かれ早かれ、すべての優れたプログラマーは、あいまいなものを見ることの価格が時には明白なことを見逃すことになることを発見する。 ;-) –
@Chris:心配しないでください。他の誰かが私たちのコードを見ていることが分かっているのは本当に助かります。(btw、error_logに関する別の情報を与えるために私の答えを編集しました) –