2009-07-02 8 views
0

新しいウェブサイトのデザインを変更しました。リダイレクト301質問

フォルダ「v1」に前のコピーがあり、新しいフォルダは「v2」にあります。私は2つの.htaccessファイルで遊ぶ。ファイルは、次のような組織化されている:

root 
L .htaccess (1) 
L v1 
L v2 
    L .htaccess (2) 

.htaccessの1を2つの物事ん:

  • はURI
  • のうち、WWWを削除するすべての要求が/

V2にリダイレクトしますルールは次のとおりです。

RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC] 
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L] 

RewriteCond %{REQUEST_URI} !^/v2/ [NC] 
RewriteRule ^(.*)$ /v2/$1 [NC,L] 

今、私はよく索引付けされた特定のURLを持っています。例えば :example.com/pixflow/

I 301

に(物理的にexample.com/v2/projects/pixflow1/を意味する)がexample.com/projects/pixflow1/にリダイレクトしたいですこれを実現するため、私は.htaccessの1に入れている:

RewriteRule ^pixflow/$ http://%{HTTP_HOST}/projects/pixflow1/ [L,R=301] 

しかし、それは動作しません、それは404、私は間違って何をやっているが返されますか?

+0

本当に '/ pixflow'だけでなく'/pixflow/'もリクエストしていますか? – Gumbo

+0

はい、そうだと思います。元のURLはhttp://www.domain.com/pixflow/ – pixeline

+0

でした。それは私のために働きます:http://lab-au.com/pixflow/;) – Gumbo

答えて

1

あなただけの代替のための絶対URLパス述べることができる:

RewriteRule ^pixflow/$ /projects/pixflow1/ [L,R=301] 

をしかし、あなたはあまりにも動作するはずです。

+0

優秀! htaccessファイルをより軽くて読みやすくします。 – pixeline

0

(1)作品の.htaccessにこれを入れているようだ:

RewriteRule ^pixflow/$ http://domain.com/projects/pixflow1/ [L,R=301]