1

これはかなり複雑なため、私の正確な PHP ではありませんが、一般的な考え方は同じです。

if($_GET['page'] == ".htaccess"){
    header("HTTP/1.0 404 Not Found");
}

この場合、Apache は .htaccess ファイルに設定された 404 ページをロードしません。存在しないページに移動すると、指定された 404 ページが表示されるため、404 が機能することはわかっています。

404 ページ ファイルの内容を手動でダンプせずに、指定した 404 ページをロードする方法はありますか?

4

2 に答える 2

2

Apacheはファイルが実際に存在することをすでに判断しているため、404を再度検索することはありません。

Location1つの回避策は、実際に存在しないページに-headerを送信し、 Apacheに処理させることです。Status: 404もう1つは、PHPを介して404ページのコンテンツをフェッチし、ヘッダーと一緒に出力することです。

于 2013-02-25T07:28:11.530 に答える
0

これはうまくいくかもしれません

if (strstr($_SERVER['REQUEST_URI'],'.htaccess')){
    header('HTTP/1.0 404 Not Found');   
    exit();
}
于 2013-02-25T11:39:22.060 に答える