web-dev-qa-db-ja.com

.htaccessが404.phpにリダイレクトされず、代わりにページ名が表示されます

私のウェブサイト用にカスタム404ページを作成しようとしていますが、このルールを使用しているルートディレクトリに.htaccessファイルがあります

ErrorDocument 404 404.php //I want to redirect to 404

したがって、home.phpのような有効なファイル名をhome1.phpに変更しても、リダイレクトされず、そのページに404.phpがエコーされます。

補足:404.phpはルートディレクトリにのみあります

12
Random Guy

これはそれをする必要があります

RewriteEngine on
ErrorDocument 404 http://www.yoursite.com/404.php
25
Kevin Lynch

あなたの.htaccessファイル、次を使用できるはずです:

RewriteEngine on
ErrorDocument 404 /404.php

この方法を使用して追加のエラードキュメントを設定できますが、それらを別のエラーディレクトリに配置します。

ErrorDocument 400 /errors/400.php
ErrorDocument 401 /errors/401.php
ErrorDocument 403 /errors/403.php
ErrorDocument 404 /errors/404.php
ErrorDocument 500 /errors/500.php
8
nickhar

あなたはあなたのhtaccessで404の古いページに以下をすることができます

RewriteEngine on
ErrorDocument 404 /404.php

しかし、私は個人的にお勧めします

RewriteEngine on
RewriteRule home.php /home1.php [R=301,L]

これにより、古いページ名から新しいページ名への301リダイレクトが行われるため、キャッシュされた検索エンジンの結果は、404に到達するのではなく、正しいページになります。

4
bizzehdee