2017-06-01 5 views
1

www.domain.com/home/help/contact/contactという形式のURLを生成するCMSを使用しています。ここでcontactの最初の出現はディレクトリであり、2番目の出現はHTMLページそのものです。これらのURLはSEO領域で問題を引き起こしています。Apache正規表現-301がURLパスの重複を根絶するようにリダイレクトされます

カノニカルタグを実装しましたが、検索エンジンとGoogleアナリティクスの両方でこれらの重複を見つけられないようにしたいと考えており、ウェブサーバーに301ソリューションを実装するよう依頼しました。

私の質問では、これらの一致を見つけるための正規表現がありますが、一致する前にURLの一部も必要です。正規表現は.*?([\w]+)\/\1+です。contact/home/help/contact/contactに返します。 /home/help/パスを取得して正しいページにリダイレクトするにはどうすればよいですか?私が初心者であるので、正規表現になると誰かがこれで助けてくれますか?

答えて

1

あなたが一致するグループを使用してcontactを得ることができるしているので、同様のマッチンググループ内のその前にすべてのものを同封:

(.*?)(/[\w]+)\2+ 

あなたが勝ったように、私は、あまりにも一致するグループ内/を入れています

/home/some/app/page 
this would be \1^^ found repetition (character p would be matched) 
+0

ありがとうございました。しかし、 - のような特殊文字を含む言葉でうまくいくかどうか確認してください。 –

+0

@SunitaV '[\ w]'を '[\ w .-]' – hjpotter92

+0

に助けてくれてありがとう。 –

関連する問題