htaccessで404ページが見つかりませんエラーページを設定してみてください。
問題は、https: //www.rsseosolution.com/suraj.htmlを検索している場合です...そのリダイレクトは404.phpに最適です。しかし、https: //www.rsseosolution.com/suraj.phpを検索している場合... 404.phpにリダイレクトされず、「ファイルが見つかりません。」という簡単なテキストメッセージが表示されます。
要するに、拡張子がphpでない場合はリダイレクトは問題ありませんが、.phpの場合は表示されているファイルが見つかりません。
ErrorDocument 404 https://www.rsseosolution.com/404.php
Options +FollowSymLinks
RewriteEngine on
# ensure www.
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# ensure https
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule seo-package-(.*)-n-(.*)\.php$ seo-package-detail.php?id=$1&name=$2 [NC,L]
RewriteRule case-studies/(.*)-(.*)\.php$ case-studies.php?project=$1&id=$2 [NC,L]
RewriteRule tutorial/(.*)-(.*)\.php$ tutorial.php?topic=$1&id=$2 [NC,L]
RewriteRule blog-page-(.*)\.php$ blog.php?page=$1 [NC,L]
RewriteRule seo-tutorial-(.*)\.php$ seo-tutorial.php?page=$1 [NC,L]
RewriteRule frequently-ask-question-faq-(.*)\.php$ frequently-ask-question-faq.php?page=$1 [NC,L]
私が探しているのは.......すべての見つからないURLまたは間違ったURLを404.phpにリダイレクトすることです。
私がここで欠けているもの。
htaccessから.php拡張子の付いたURLを書き換えているため、PHPの場合はそのファイルが見つかりませんが、その他の場合は404.phpに完全にリダイレクトされると思います。
htaccessによって以前に書き込まれたファイルの拡張子(.php)を変更せずに、見つからないすべてのページとURLに404.phpを設定する方法はありますか?
問題は、の現在のディレクティブとは関係ありません.htaccess
。
この問題は、ほとんどの場合、サーバーの構成とPHPのサーバーへの実装方法が原因である可能性があります。.php
FastCGIタイプの設定でよくあるように、ファイルのリクエストが処理のためにバックエンドサーバーにプロキシされる場合、この404 Not Foundメッセージは、Apacheサーバーではなくバックエンドサーバーから送信される可能性があります。
通常、これProxyErrorOverride
はリバースプロキシ設定のディレクティブで解決します。
ProxyErrorOverride On
メインサーバーの構成にアクセスできない場合は.htaccess
、リクエストがプロキシサーバーに送信される前に、でmod_rewriteを使用して404を早期にトリガーできる可能性があります。
たとえば、既存のmod_rewriteディレクティブの前:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule \.php$ - [R=404]
ただし、これは厳密には「回避策」であり、サーバー構成にアクセスできる場合は、ProxyErrorOverride
(上記のように)使用することをお勧めします。
余談:
ErrorDocument 404 https://www.rsseosolution.com/404.php
ErrorDocument
ディレクティブで絶対URLを指定すると、エラードキュメント(追加のリクエスト)の外部(302)リダイレクトがトリガーされますが、これは一般的に望ましくありません(404応答コードを手動で設定する必要があります)。代わりに、内部サブリクエストとしてエラードキュメントを発行することをお勧めします。
ErrorDocument 404 /404.php
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加