0

私はhtaccessにこれを持っています

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L]
</IfModule>

ウェブサイトが正しく動作するためには、これが必要です。間違った URL (存在しないページ) を配置すると、ホームページにリダイレクトされますか? 代わりに 404 ページを表示したいですか?

4

1 に答える 1

0

404 ページが実際のファイル (/404.html など) である場合、ルールは既存のファイルには適用しないように指定されているため、そのまま機能するはずです。404 ページが仮想の場合は、RewriteCond を追加して除外する必要があります。たとえば、404 ページが実際/index.php?errorにある場合は、RewriteRule の前に次の RewriteCond を追加し、必要に応じてクエリ文字列を更新します。

RewriteCond %{QUERY_STRING} !^error

別の方法として、php/CMS コードで使用する実際の 404.html ページを作成することもできます。この場合、元のルールで問題ありません。

于 2013-02-15T19:00:55.873 に答える