ページが見つからない場合は、エラーページにリダイレクトします。ですから、このコードを.htaccessファイルに追加しました。htaccess 404に問題が見つかりませんか?
# '404 Not Found' error
ErrorDocument 404 /index.php?p=error&code=404
しかし、テストすると、index.phpファイルにリダイレクトされません。 <IfModule mod_rewrite.c>
のうち、すべてのErrorDocument
ディレクティブを動かす - - すべてでそのための必要はありません
私の全体の.htaccessファイルのコードが
#AuthName "Restricted Area"
#AuthType Basic
#AuthGroupFile /dev/null
#require valid-user
#<Files "/site/captcha/">
# Allow from all
#</Files>
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
## File paths are relative to the Document Root (/)
# '400 Bad Request' error
ErrorDocument 400 /index.php?p=error&code=400
# '404 Not Found' error
ErrorDocument 404 /index.php?p=error&code=404
# '403 Forbidden' error
ErrorDocument 403 /index.php?p=error&code=403
# '401 Unauthorized' error
ErrorDocument 401 /index.php?p=error&code=401
# '500 Internal Server Error'
ErrorDocument 500 /index.php?p=error&code=500
############################# Pages ##########################################################
RewriteRule ^home/$ index.php [S=1]
RewriteRule ^home$ index.php [S=1]
</IfModule>
私はこれを試しましたが、うまく動作しません。 –
あなたはどんなエラーを見ますか?それは共有ホスティングですか、あなたはサーバーを完全に制御できますか?セキュリティ/パフォーマンス目的で、.htaccessファイルがすべて処理されない/無視される可能性があります。それがあなたのサーバなら、 'AllowOverride All'ディレクティブをサーバ設定の適切な場所に追加する必要があります。それ以外の場合(ホスティングサーバーを共有している場合)、ホスティング会社にお問い合わせください。 – LazyOne