0

したいこと:

vhost1.xyz.com/name1/*

リダイレクト先:

vhost2.xyz.com/name2/*

例:

vhost1.xyz.com/name1/24ds21t31?kofs=oif.com

リダイレクト先:

vhost2.xyz.com/name2/24ds21t31?kofs=oif.com

常に次のようになります: /name1/some_number_&chars?name=url

私はこのコードを試しました:

RewriteCond %{REQUEST_URI} ^vhost1.xyz.com/name1/$
RewriteRule . - [E=myUri:%1,E=myQuery:%2]
RewriteRule . http://vhost2.xyz.com/name2/%{ENV:myQuery} [R=301,L]

しかし、それは作っています:

vhost1.xyz.com/name1/24ds21t31?kofs=oif.com

リダイレクト先:

vhost2.xyz.com/name2/kofs=oif.com

だから「24ds21t31?」部品が欠品しており、これが必要です。

4

1 に答える 1

0

これを試して:

RewriteCond %{REQUEST_URI} ^vhost1.xyz.com/name1/(.+)$
RewriteRule . http://vhost2.xyz.com/name2/%1 [R=301,L]

編集:ドットだけでなく、すべての文字が必要です(疲れているので間違えました)。(\.+) の代わりに (.+)

EDIT2:前にホストと?(vhost1.xyz.com in rewriteCond) 以前にエイリアスや他の書き換え条件を持っていませんか? name1 が存在しない場合も問題です...(エイリアスまたは空のディレクトリを作成することが解決策になるはずです)

于 2012-08-01T09:44:33.013 に答える