2017-05-26 39 views
0

我有一些超级奇怪的URL需要重定向。原来的网址是这样的:Apache Mod_Rewrite空查询字符串后跟斜杠

server1.com/directory?/tfoo 

这些URL需要去这里:

server2.com/search~?query=foo 

我已经尝试了一堆不同的可能性,但是这是我与现在的工作:

RewriteCond %{QUERY_STRING} ^$ 
RewriteRule ^/t(.*) https://server2.com/search?query=$2 [L,NE,NC] 

基本上,我想我将不得不寻找一个空白的查询字符串,然后尝试移动到抢在目录结构(富)给出的值。 RewriteCond匹配我的原始URL,但我似乎无法获取实际的查询参数。

我已经尝试了一堆与RegEx的事情,试图完全忽略问题标记,但它看起来像mod_rewrite只知道查询参数重定向上下文中的问号。

任何意见,非常感谢。

谢谢!

+0

'的RewriteCond%{QUERY_STRING}'↵'重写规则 “^ /吨$(*)。” “^ /?目录$”“https://server2.com/search?query=%1”[L,NE,NC]' – Deadooshka

+0

谢谢,@Deadooshka,工作! – lpm

回答

0

Deadooshka的解决方案(以上评论)工作:

RewriteCond %{QUERY_STRING} "^/t(.*)$" 
    RewriteRule "^/?directory$" "https://server2.com/search?query=%1" [L,NE,NC]` 
0

您可以使用此:

RewriteEngine on 

RewriteCond %{THE_REQUEST} /directory/?/t(.+)\s [NC] 
RewriteRule^http://server2.com/search~?query=%1 [NE,L,R] 
相关问题