0

こんにちは、htaccess を適切にリダイレクトするのに少し問題があり、助けを求めていました。

私はDEV-domain.com?CampID=AB12345にリダイレクトすることを期待して いますhttp://DEV-www.domain.com/landing/external-marketing/direct-mail/AB?CampId=AB12345

RewriteCond %{HTTP_HOST} ^DEV-(www\.)?domain\.com [NC]
RewriteCond %{QUERY_STRING} ^CampID=
RewriteRule (\w{2})(\w{5})$ http://DEV-www\.domain\.com/landing/external-marketing/direct-mail/$1?CampId=$1$2 [R=301,L]

残念ながら、何らかの理由で機能させることができませんか?

4

1 に答える 1

1

RewriteRule の一致は、クエリ文字列ではなく、URL パスを対象としているためです。これを試して:

RewriteCond %{HTTP_HOST} ^DEV-(www\.)?domain\.com [NC]
RewriteCond %{QUERY_STRING} ^CampID=(\w{2})(\w{5})
RewriteRule .* http://DEV-www.domain.com/landing/external-marketing/direct-mail/%1?CampId=%1%2 [R=301,L]

.また、一致するパターンでのみ、ターゲット URL のドットをエスケープする必要はありません。CampIDまた、の代わりにターゲット URL を作成することにした場合CampIdは、別の条件を設定する必要があることに注意してください。

RewriteCond %{REQUEST_URI} !^/landing/external-marketing/direct-mail/

CampIDRewriteCond ルールに一致するターゲットとしての無限リダイレクトを回避するには...

于 2012-10-27T00:35:22.263 に答える