0

私は ajax クロールを実装したところです。私の URL は次とおり です 。 .google.at/#hl=en&q=+site:acs-germany.de+acs-germany.de

インデックスに登録された URL に「フラグメント」が含まれていることがわかります。これは私のシステムに存在するフォルダーで、"ajax" (またはより適切には dhtml) コンテンツの HTML スナップショットが含まれています。その URL をたどると、スナップショットが提供され、アプリが中途半端なマークアップの上にインスタンス化されるため、アプリが破損し、サイトが FUBAR になります。

私は Apache を使用しており、URL 書き換えに関連する私のルールは次のとおりです。

Options -MultiViews
#Rewrite queries from google to the right files
RewriteEngine On

RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$
RewriteRule ^(.*) http://acs-germany.de/fragments/%1.html?

率直に言うと、サイトはhttp://acs-germany.deにあり、JS がアクティブな場合、ブラウザーの場所をhttp://acs-germany.de/#!en/homepageに指すハッシュバンを設定します 。この範囲では、書き換えられた URL ではなく、ハッシュバングを含む URL が Google によってインデックスされると予想しています。

ここで何が問題になる可能性がありますか?

4

2 に答える 2

0

フラグメント フォルダー内のファイルはインデックス可能であるため、Google がそれらを見つけた場合、それらはインデックスに登録されます。

Google は URL の _escaped_fragment_= バージョンをチェックしてコンテンツを取得します。それをフラグメントフォルダーバージョンに302リダイレクトしています。

それはあなたの .htaccess コードが意味するものではありません。あなたが私たちに話していない[R]はありますか?

リダイレクトが Google のシステムを混乱させ、最終的にフラグメント フォルダ ファイルのインデックスを作成していると思われます。

物事を単純化し、Google が求めていることを正確に行うことをお勧めします。_escaped_fragment_= URL は、ページの基本コンテンツを直接返す必要があります。

次に、これらのフラグメント フォルダー ファイルを 301 リダイレクトして #! Google が正しいものをインデックスに登録するように促すバージョン。

正直なところ、この Web サイトを AJAX ベースにする理由がわかりません。クリックするたびに、ページが完全に再作成されているように見えます。AJAX とは、ページの一部のみを更新することです。

于 2012-12-08T15:31:52.310 に答える
0

私は同じ問題に直面し、RewriteRule から http:// の部分を削除して修正しました。これを試して

RewriteRule ^(.*) /acs-germany.de/fragments/%1.html?

また

RewriteRule ^(.*) /fragments/%1.html?

http:// を使用すると、Apache は URL を「書き換える」のではなく「リダイレクトする」ようになりました。

于 2013-08-16T09:50:04.983 に答える