目前,我有一个重写规则如下。
RewriteEngine On
RewriteCond %{QUERY_STRING} ^_escaped_fragment_= [NC]
RewriteRule ^ http://localhost:8082%{REQUEST_URI} [L,P]
在此重写规则中,如果我发送的网址如下所示_escaped_fragment_=
,
http://localhost:8080/web/?_escaped_fragment_=/privacy
将URL重定向到另一个端口(8080到8082),如下所示,
http://localhost:8082/web/?_escaped_fragment_=
我现在要做的是,修改此重写规则以从URL中删除/web
并重定向到新端口(8080到8082),如果URL中包含_escaped_fragment_=
。例如,如果我的网址如下,
http://localhost:8080/web/?_escaped_fragment_=/privacy
我希望重写此网址,如下面的网址(新网址包含端口8082,新网址中不存在/web
),
http://localhost:8082/?_escaped_fragment_=/privacy
这是什么改写规则?
答案 0 :(得分:0)
您需要匹配实际网址
,而不是使用%{REQUEST_URI}
变量
RewriteEngine On
RewriteCond %{QUERY_STRING} ^_escaped_fragment_= [NC]
RewriteRule ^/?(?:web/)?(.+)$ http://localhost:8082/$1?%{QUERY_STRING} [L,P]