0

.htaccess ファイルにルールを設定して、そのようなファイルがないために 404 になる URL を入力すると、自動的にサイトのホームページにリダイレクトされるようにしたいと考えています: index.php

私の .htaccess ファイルは次のようになります。

RewriteEngine On
RewriteCond %{HTTP_HOST} !^queenslandbeerweek.com.au$ [NC]
RewriteRule ^(.*)$ http://queenslandbeerweek.com.au/$1 [L,R=301]
ErrorDocument 404 /index.php 

これにより、index.php ファイルが表示されますが、壊れており、アドレス バーに誤った URL が残ります。

別の投稿への回答を読みましたが、間違った URL をパラメーターとして渡すことと関係があり、ページがデータベースからデータを呼び出し、不適切な URL をパラメーターとして渡すため、ページが正しく読み込まれません。 index.php を調べましたが、解決策が何であるかについてのヒントはありませんでした。

私がやりたいことは、間違った URL がアドレス バーに入力された場合、または存在しないファイルへのリンクがたどられた場合、このファイルを完全に忘れて、すべてをドロップし、ホームページに移動することです。 index.php.

index.php はデータベースからデータを呼び出します

これは .htaccess ファイルを使用して可能ですか?

私の別のサイトでもまったく同じ問題があります。

どんな助けでも大歓迎です。乾杯、アル。

4

2 に答える 2

1

エラードキュメントを直接リダイレクトできるとは思いませんが、存在しないファイルやフォルダーをキャッチすることはできます

!-fファイル!-dではないことを意味し、ディレクトリで$1はないことを意味します。 (.*)(URL のパス)

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.php?errorurl=$1 [R=301,L]
于 2013-06-27T10:52:51.297 に答える
0
ErrorDocument 404 /404.php

404 エラー テンプレートは、好きな場所に配置できます。たとえば、すべてのエラー メッセージを errormessages というフォルダーに配置できます。

ErrorDocument 404 /errormessages/404.php 
于 2013-06-27T10:43:35.937 に答える