1

検索エンジンはパラメーターを使用してサイトをクロールします

/?p=([0-9]+)
/?cat=([0-9]+)
/?do=([a-z]+)

そのようなページがもう存在しないことを検索エンジンに通知するには、.htaccess をどのように作成しますか?

/?page=([0-9]+) しかありません

ありがとう。

私は試した

RewriteCond %{QUERY_STRING} ^(p|cat|do)(.*)$
RewriteRule ^$ http://test.com/simple [R=301,L]

しかし

http://test.com/?p=23 give me http://test.com/test?p=23 (not http://test.com/test)
http://test.com/?cat=11 give me http://test.com/test?cat=11 (not http://test.com/test)
4

2 に答える 2

1

次の 301 (永久リダイレクト) ルールをお勧めします。

RewriteCond %{QUERY_STRING} !^page=.*$ [NC]
RewriteRule ^$ http://test.com/test? [R=301,L]

/?p=([0-9]+)これにより、すべてのor/?do=([0-9]+)または/?foo=([0-9]+)or /?bar=([0-9]+)etc ( を除くすべてのクエリ文字列/?page=)が wi​​th にリダイレクトされhttp://test.com/test、元のクエリ文字列が削除されます (ターゲット URL の末尾にあることにR=301注意してください)。?

于 2012-10-10T10:44:05.957 に答える
0

これらのページをrobots.txtファイルに追加して、インデックス作成を防ぐことができます。

ただし、どこかで検索エンジンがこれらのリンクを見つけています。サイトでそれらを使用していないことを確認する必要があります。

ページが存在しない場合は、それに応じてリダイレクト(301) することを検討してください。

後者、またはそのいくつかの組み合わせは、あなたを整理するはずです.

于 2012-10-09T17:56:25.420 に答える