我有一些我需要重定向的超级怪异网址。原始网址如下所示:
server1.com/directory?/tfoo
这些网址需要转到此处:
server2.com/search~?query=foo
我尝试了很多不同的可能性,但这就是我现在正在使用的方法:
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^/t(.*) https://server2.com/search?query=$2 [L,NE,NC]
基本上,我认为我必须寻找一个空白的查询字符串,然后尝试继续获取目录结构中给出的值(foo)。 RewriteCond匹配我的原始URL,但我似乎无法获取实际的查询参数。
我尝试使用RegEx尝试完全忽略问号,但看起来mod_rewrite只能理解查询参数重定向上下文中的问号。
非常感谢任何建议。
谢谢!
答案 0 :(得分:0)
您可以使用:
RewriteEngine on
RewriteCond %{THE_REQUEST} /directory/?/t(.+)\s [NC]
RewriteRule ^ http://server2.com/search~?query=%1 [NE,L,R]
答案 1 :(得分:0)
Deadooshka的解决方案(上面评论)有效:
RewriteCond %{QUERY_STRING} "^/t(.*)$"
RewriteRule "^/?directory$" "https://server2.com/search?query=%1" [L,NE,NC]`