存在しないウェブページを私のindex.phpにリダイレクトしようとしています。
私はこのデータを使ってindex.phpと同じフォルダに.htaccessファイルを作成しました。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
Rewritecond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Wampserverを使用していますが、Apacheサーバーのhttpd.confは次のように設定されています。
AllowOverride All
しかしそれでも私が存在しないウェブページに入ろうとすると404エラーが出ます。 何か案が?
編集します。 ところで、私はこの記事を見た ここに そしてそこに保持されているものを試してみたが、それは私のために働かなかった。
回答:
回答№1の場合は3なぜErrorDocumentディレクティブを使わないのですか?
ErrorDocument 404 index.php
これはずっと簡単で、オーバーヘッドもずっと少なくなります。
あなたがmod_rewriteを使うことを主張するならば、あなたは使うことができますDe Morganの法則、そしてページが存在する場合のケースについては気にしないでください:とにかく普通に提供されます、あなたは明示的なRewriteRule ^。* $をする必要はありません。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-l
Rewritecond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php [NC,L]
とは言っても、あなたが投稿したスニペットはうまくいくはずだと思います。私はWampserverにまったく慣れていませんが、明示的に行う必要があるようです mod_rewriteモジュールを有効にする、あなたはそれをしましたか?
また、存在しないページをインデックスにリダイレクトします。phpは、ページが存在しないことをロボットやユーザーに知らせることなく、非常に良い考えではありません。有効なページへのリンクがあるかなりエラーのあるページのほうがはるかに良い選択でしょう。