2016-04-08 15 views
1

このサイトは、最初にWindows Server上でホストされ、.aspプログラミング言語を使用して作成されました。今はcPanel/WHMを実行しているLinuxサーバに移行し、新しいサイトはWordpressとWooCoomerceを使って構築されています(このサイトはオンラインショップです)。私はいくつかの.htacessを行う必要があり新しいURLへの古い.aspリンクのリダイレクト

は新しいリンク

に古いの.aspのURLからリダイレクト

例:

old URL: http://website.com.au/products.asp?cat=110 
new URL: http://www.website.com.au/product-category/pearls/ 

私は試しては何をしたか:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

Redirect 301 /products.asp?cat=110 http://www.website.com.au/product-category/pearls/ 

何らかの理由でリダイレクトが機能していないため、404ページが見つかりませんでした。

助けていただけたら幸いです!

+0

クエリ文字列が問題になる可能性があります。これを参照してください:[301リダイレクト:クエリーストリングと一致し、新しいリダイレクトに追加しない](http://stackoverflow.com/questions/16162586/301-redirects-match-querystring -dont-append-it-to-new-redirect) – jpfromit

答えて

1

リダイレクトディレクティブで、クエリ文字列にマッチすることはできません、あなたがするRewriteCondを使用してクエリ文字列にマッチする必要があり、試してみてください。

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteCond %{QUERY_STRING} ^cat=110$ 
RewriteRule ^products\.asp$ http://website.com.au/product-category/pearls/? [L,NC,R] 

ターゲットURLの最後に空の疑問符が重要な場合ターゲットURLに古いクエリ文字列を追加することは望ましくありません。

+0

これは動作します!どうもありがとうございます!もう一つ。 私はまったく同じような他のルールのために行うでしょうか? /products.asp?cat=102は に移動することを意味します。http://website.com.au/product-category/diamonds/言いましょう...など... –

+0

はい、複数のRewritecondsを追加できます他のクエリ文字列についても上記と同じルールが適用されますが、リダイレクトセットを作成する場合は** R **を** R = 301 **に変更してください。 – starkeen

+0

ありがとう、ありがとう。 さらにもう1つの質問と私は完了です。すべてのリダイレクトを済ませたら、他の.aspリンクをメインページにリダイレクトするためにどのルールを追加する必要がありますか? 例のように10個のルールを追加しています。その後、最初の10以外の.aspリンクへの他の要求は、メインページにリダイレクトされます。 おかげで、 –

関連する問題