0

特定のファイルにトラフィックをリダイレクトするフロント コントローラーを使用する Web サイトを持っているので、SEO に適した URL を使用できますが、サイトにはトラフィックを転送したくない静的ページがいくつかあります。

現在、次の .htaccess があります。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.exmple.com/$1 [L,R=301]
ErrorDocument  404  /controller.php

これはうまくいくようです:

  • すべてのトラフィックは に転送されwww.example.comます。
  • そして、見つからない Web ページはcontroller.php処理するように指示されます。
  • www.example.com/about_us.phpまだ機能するなど、実際に存在するものはすべて動作します。

問題は、ページがまだ送信され、正しく表示されているにもかかわらず、404 エラーが報告されることです。エンド ユーザーには何も変わらないように見えますが、Google ボットが 404 を見て、あると想定するため、Google で SEO を台無しにしています。他には何もありません。

特定のページのリストとは別にすべてのトラフィックを単純にリダイレクトする方法はありますか、それともより洗練されたソリューションがありますか?

ヘルプ、考え、コメントなどは大歓迎です

4

1 に答える 1

1
RewriteEngine On
ErrorDocument  404  /controller.php

RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule .* index.php/$0 [PT]

index.php を介してルーティングする必要があります...そうしないと、上の行ではなく下の行が機能するはずです。

RewriteRule .* $0 [PT]
于 2011-08-02T17:57:26.707 に答える