2

我必须为一个站点(不同的语言)提供地址,并且我需要一个带有保存查询字符串的重定向。所以我需要抓住这个

http://www.example1.kereell.com/wp-login.php?action=logout&redirect_to=http%253A%252F%252Fwww.example2.kereell.com%252Fafiliados-de-la-zona%252F&_wpnonce=66909cdca0

并重定向到

http://www.example2.kereell.com/wp-login.php?action=logout&redirect_to=http%253A%252F%252Fwww.example2.kereell.com%252Fafiliados-de-la-zona%252F&_wpnonce=66909cdca0

在 .htaccess 文件中应该是这样的

RewriteCond %{HTTP_HOST} ^.*example1\.kereell\.com$ [NC]
RewriteCond %{REQUEST_URI} ^/wp-login.php?action=logout&redirect_to=http%3A%2F%2Fwww.example2.kereell.com%2Fafiliados-de-la-zona%2F&_wpnonce=66909cdca0$ [NC]
RewriteRule ^(.*)$ http://www.example2.kereell.com/$1 [R=301,L] 

我尝试了很多东西(转义“%”,正则表达式类),但由于 urlencoded 字符而没有让它工作。如果我替换所有 urlencoded 符号 - 它可以工作..

4

1 回答 1

0

所以解决方案真的很简单,因为它假设是:

RewriteCond %{HTTP_HOST} ^.*example1\.kereell\.com$ [NC]
RewriteCond %{REQUEST_URI} ^/wp-login.php$ [NC]
RewriteCond %{QUERY_STRING} ^action=logout&redirect_to=http[\%A-Z0-9]*www.example2.kereell.com(.*)$ [NC]
RewriteRule ^(.*)$ http://www.example2.kereell.com/$1 [R=301,L]

感谢 Qtax 让我关注 QUERY_STRING!

于 2013-06-11T21:34:35.873 回答