首页 文章

Apache Mod_Rewrite空查询字符串后跟斜杠

提问于
浏览
0

我有一些我需要重定向的超级奇怪的URL . 原始网址如下所示:

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只能理解查询参数重定向上下文中的问号 .

任何建议都非常感谢 .

谢谢!

2 回答

  • 0

    你可以用这个:

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

    Deadooshka的解决方案(上面评论)有效:

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

相关问题