0

私のサイトは、ページ間の URL で変数 (電話番号) を渡します。データベースから電話番号を取得し、URL リンクを url.com/phone-number/id として書き込みます。

ただし、ターゲット ページに電話番号がない場合は 0 に置き換えられるため、url.com/0/id.

私の .htaccess ファイルでは、古いクエリ php パラメータを書き直して URL を消去し、デフォルトの url.com/0/id を書き換えに入れました。古いページには電話番号がなかったので、すべてのリダイレクトには 0 が付きます。

# 301 redirects ad
RewriteCond %{REQUEST_URI}  ^/page\.php$
RewriteCond %{QUERY_STRING} ^id=(\d+)$ [NC]
RewriteRule ^page.php$ /page/0/%1? [R=301,NE,NC,L]

私の問題は、サイトを閲覧すると url.com/phone-number/id が表示されるにもかかわらず、Google がすべての新しいページを url.com/0/id ではなく url.com/phone-number/id でインデックス付けしていることです。電話番号のあるページ。

URL の書き換えが原因なのか、Google ボットの動作が原因なのかはわかりません。

4

1 に答える 1

0

R=301301 は永続的なリダイレクトを意味するため、上記のルールには使用しないでください。302 (一時的なリダイレクト) を使用します。

RewriteCond %{QUERY_STRING} ^id=(\d+)$ [NC]
RewriteRule ^page\.php$ /page/0/%1? [R=302,NC,L]
于 2013-09-26T06:34:26.403 に答える