2011-09-16 23 views
0

私は立ち往生しています。私はhtaccessについてあまり知らないし、ちょうどそれを羽ばたんでいる。誰かがコードを見て、何が間違っているのか教えてください。私は単に古いサイトを新しいサイトにリダイレクトしたいだけです。唯一の変更はドメイン、古い/新しいページとパーマリンク構造への追加単語の間で一致する変数です。ここでhtaccess 301リダイレクト - ヘルプが必要

は、私がこれまで試したのバリエーションの一つです:

Options +FolowSymlinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^.*domain.com/matchingword1-(.*)-matchingword2-matchingword3/ [NC] 
RewriteRule ^(.*)$ http://www.newdomain.com/matchingword1-$1-matchingword2-differentword-matchingword3/ [R=301,L] 

セクション(.*)は、新しいドメインの$ 1とまったく同じになりますが、パーマリンクは少し異なっています。 permalinkの部分は(.*)で、複数の単語や数字からなるものになります。例えば

matchingword1-this-page-is-1st-matchingword2-matchingword3/newdomain.com/matchingword1-this-page-is-1st-matchingword2-differentword-matchingword3

答えて

1
Options +FolowSymlinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST}%{REQUEST_URI} ^.*domain.com/matchingword1-(.*)-matchingword2-matchingword3/ [NC] 
RewriteRule ^(.*)$ http://www.newdomain.com%{REQUEST_URI} [R=301,L] 
+0

にリダイレクトすでにのRewriteRuleパターンでURLに一致する場合は、 'するRewriteCond%{REQUEST_URI}'ここを持っていることのポイントは何ですか? – LazyOne

+0

@LazyOne彼は彼が与えたフォーマットに合ったURLだけをリダイレクトしたいと思う! – undone

+0

はい、正しい。しかし、RewriteRuleパターン自体(1行少ない、1少ない比較=より速く実行する)で同じ/一致することができるなら、なぜそれが必要なのですか? – LazyOne