0

使用しようとすると、Webサーバーに問題が発生します

<?php echo "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]" ?>

それはそれ自身のファイルを表示します:例えば。blah.com/404.php

また、403ページでこれを行うにはどうすればよいですか?私はその可能性を知っていて、試しました

    $_SERVER['HTTP_REFERER']

しかし、注意が必要な場合もあれば、ゼロである場合もあります。404を使用するのはこれが初めてですが、何が間違っているのでしょうか。

4

2 に答える 2

0

404ステータスコードは、「見つかりません」というURLによって返される必要があります。したがって、別のphpファイルにリダイレクトする代わりに、このコードを即座に「返す」必要があります。

ファイル内のエラードキュメントの処理を確認する必要があり.htaccessます。このような何かがあなたを助けるかもしれません:

ErrorDocument 404 /notfound.php

これにより、404ステータスコードが返されます。このソリューションの良い点は$_SERVER['REQUEST_URI']、notfound.phpファイルにアクセスし、それを使用してエラーメッセージやその他のアクションを表示できることです。

于 2013-02-01T19:07:55.017 に答える
0

問題が見つかりました。直接リンクではなく相対パスを投稿する必要があります。そうしないと、404が表示されずにそのページにリダイレクトされます。

例えば:

 ErrorDocument 404 /404.php

そうすれば、.htacessはYoursite.com/notfound.phpにリダイレクトされません。また、200(OK)ではなく404(Not Found)が送信されます。

于 2013-03-06T23:49:00.590 に答える