2012-02-07 10 views
1

私はここ数日間、リダイレクトをいくつか試してみました。クエリ文字列が半友好的なURLの場合、どのようにリダイレクトできますか?すなわち、 no index.php

URLにindex.phpがある正規のクエリ文字列があります。

ただし、このURLは

http://www.bodysilk.co.uk/salon-products/dr-belter?category_id=6&page=shop.browse&limit=5&limitstart=0 

を応答しません、私は大丈夫に動作し、他の再書き込みからの借入され、これにそれを検出しようとした...しかし、中にはindex.phpを持っていませんnon sef url:

リダイレクトを実行するにはどうすればよいですか?私は600以上のURLを持っています。これらのURLはそれぞれ独自の無作為なURLを持っていますが、SEFと同等のものにリダイレクトすることはできませんが、ショップのホームページに転送するのは良いでしょう。何か?私はGoogleがウェブマスターツールの600 404エラーのために私たちを少し傷つけていることを確信しています

誰かが私にそれを行う方法を示すことができます...私は私の髪を引っ張っているように私の日を作るだろう!私が仕事をしようとする例はありません!

答えて

0

RewriteCondのマッチングに問題があります。代わりに:

RewriteCond %{QUERY_STRING} ^page=shop.browse 

それは次のようになります。

RewriteCond %{QUERY_STRING} (?:^|&)page=shop\.browse(?:&|$) [NC] 

さらにあなたのRewriteRuleはまた、あなたの例のURLを見て修正されていません。

現在あなたが持っている:

RewriteRule ^index\.php$ http://www.bodysilk.co.uk/products/$1 [R=301,L] 

どちらをあなたのソースURIが/index.phpで、オプションのクエリ文字列でなければならないことを意味します。

あなたの要件を明確に説明して、よりよく助けることをお勧めします。

+0

こんにちはを試してみてください"/ products"ページを参照してください。 Bad urls- http://www.bodysilk.co.uk/salon-products/dr-belter?category_id=6&page=shop.browse&limit=5&limitstart= 0 http://www.bodysilk.co.uk/salon-products/dr-belter?category_id=6&page=shop.browse&limitstart=0&limit=5 –

+0

もしあなたがすべての悪いURLを捕まえたいのであれば404時間アンドラー。 – anubhava

+0

あなたは、これらのすべての悪いURLをオンラインショップ、ホームページにリダイレクトするのではなく、私は404エラー文書を提供する必要があると思いますか?それは私が現時点でやっていることです...あなたがこのURLを見れば - http://www.bodysilk.co.uk/index.php?option=com_content&view=article&id=182 404ハンドラ? –

1

^before page = shop.browseを削除してみてください。文字列はpage = shop.browseで始まらない。

も必ずエスケープしてください。さもなければshop(。)ブラウズが動作します。すなわち: - 私は基本的にはちょうど私たちが持っていた前のSEOプラグインがインストールされてから、WMTのすべての悪のURLを収集したい、と上でそれらをダンプ店のブラウズ、shopAbrowse、等...

RewriteCond %{QUERY_STRING} page=shop\.browse 
関連する問題