2011-10-26 12 views
0

Googleは私が置き換えたウェブサイトを索引付けしました。私は既存のURL構造を転送したいが、私は2つの問題がある。301リダイレクトMod-Rewrite(個別のファイルへのディレクトリ)

1)http://www.abc.com/testimonials/http://www.abc.com/testimonials.htmlにリダイレクトしようとしていますが、動作しません。ここで何が起こるかです。

a)WWWでは、何も起こりません。 WWWなし b)に、それはしかし、末尾で/ testimonials.htmlここ

を大幅に削減するためにリダイレクトするのhtaccessファイルで、私が持っているコード

rewriteengine on 
rewritecond %{HTTP_HOST} ^www.abc.com$ [OR] 
rewritecond %{HTTP_HOST} ^abc.com$ 
rewriterule ^testimonials$ "http\:\/\/abc\.com\/testimonials\.html" [R=301,L] 

でこの作業を取得するために何かアドバイスをいただければ幸いです。

答えて

0

このコードを試してみてください。

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^www\.abc\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^abc\.com$ 
RewriteRule ^/testimonials/$ http://abc.com/testimonials.html [R=301,L] 

あなたはサイト名から「WWW」を削除したくない場合は、このコードを試してみてください。

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^www\.abc\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^abc\.com$ 
RewriteRule ^/testimonials/$ /testimonials.html [R=301,L] 

のmod_rewriteを使用するには、どのように良い例があります。 : http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritecond

+0

はまだtestimonials.html /実際に表示されます。私がそこに持っている他のコードのみ: 'code'RewriteCond%{THE_REQUEST}^[AZ] {3,9} \ /(.*)インデックス\。(html?php | asp | cfm)\ HTTP/ RewriteRule ^(。*)インデックス\(html?php | asp | cfm)$ http://www.abc.com/$1 および RewriteCond%{HTTP_HOST}^abc \ .com $ [NC] RewriteRule ^(。*)$ http://www.abc.com/$1 [L、R = 301] 'コード' –

+0

彼らは何をしていますか?リクエストはabc.comフォルダ(サイトではない)にリダイレクトされていますか?サイトにリダイレクトする場合は、サイト名の前に「http://」を追加する必要があります。このような状況であっても、最後のRewriteRuleは常に同じ場所にリダイレクトされます。私は少し答えてコードを変更し、Apacheを再起動することを忘れないでください。 –

関連する問題