2016-10-03 135 views
1

我想要将包含?_escaped_fragment_ =的URL重定向到另一个端口。举一个例子,htaccess从一个端口重定向到另一个

http://localhost:8080/web/?_escaped_fragment_=/privacy 

http://localhost:8082/web/?_escaped_fragment_=/privacy 

我当前htaccess的是如下。

RewriteEngine On 
RewriteCond %{REQUEST_URI} ^/$ 
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=/?(.*)$ 
RewriteRule ^(.*)$ http://dev.dermveda.com:8082/$1 [r=301,nc] 

的问题是,如果URL中包含web/,它不重定向到我新的端口。但如果它没有web/它重定向罚款。 例如 像http://localhost:8080/web/?_escaped_fragment_=/privacy这样的网址没有重定向。但是像http://localhost:8080/?_escaped_fragment_=/privacy这样的URL会被重定向。我的问题是,我应该如何实现htaccess将web/的URL重定向到另一个端口。

回答

0

问题是这种情况的存在:

RewriteCond %{REQUEST_URI} ^/$ 

这种情况的手段只有重定向如果您的网址是/,这意味着唯一的到达比赛。

只是删除这一条件,有你的规则为:

RewriteEngine On 

RewriteCond %{QUERY_STRING} ^_escaped_fragment_= [NC] 
RewriteRule^http://dev.dermveda.com:8082%{REQUEST_URI} [R=301,L,NE] 
相关问题