Apache Redirect不适合我

时间:2018-04-30 04:31:17

标签: apache redirect

我们遇到一个问题,即某个软件想要将网页打开到不再存在的服务器,并且替换服务器使用不同的URL结构。

我的任务是实施解决方案,并一直关注Apache重定向。这是使用RHEL附带的Apache v2.4.6在RHEL 7.5 VM上运行。

到目前为止,我的配置如下:

RewriteEngine on
RewriteRule "^/wp2/geoviewer-prod/wpc.jsp?latitude=(.*)&longitude=(.*)&scale=(.*)" "http://newserver/server/#/map/$1,$2,19z" [B,PT,NE,R=301,L]
RewriteEngine off

在Apache access_log文件中,我看到:

192.168.249.30 - - [30/Apr/2018:12:12:07 +0800] "GET /wp2/geoviewer-prod/wpc.jsp?latitude=-2.2&longitude=4.4&scale=3000000 HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"

浏览器永远不会进入新服务器。

任何想法我做错了什么?

由于

已编辑:更改为"代码"到"前"标签及其现在正确显示。

EDIT2:我已经将Apache的日志记录提高到了11,而且没有提及“重写”#39;在日志中。

1 个答案:

答案 0 :(得分:0)

在VirtualHost上下文中,RewriteRule 模式将与主机名和端口之后以及查询字符串之后的URL部分进行匹配。
如果您希望与查询字符串匹配,请使用带有RewriteCond变量的%{QUERY_STRING}。尝试这样的事情:

RewriteEngine on
RewriteCond %{QUERY_STRING} latitude=(.*)&longitude=(.*)&scale=(.*)
RewriteRule ^/wp2/geoviewer-prod/wpc.jsp http://newserver/server/#/map/%1,%2,19z [B,PT,NE,R=301,L]
#RewriteEngine off