htaccess从一个端口重定向到另一个端口

时间:2016-10-03 07:42:01

标签: apache .htaccess redirect

我想将包含?_escaped_fragment_ =的网址重定向到另一个端口。例如,

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]

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

1 个答案:

答案 0 :(得分:0)

问题是存在这种情况:

RewriteCond %{REQUEST_URI}  ^/$

此条件表示仅当您的网址为/时才会重定向,这意味着只有登陆匹配。

只需删除该条件并将您的规则设为:

RewriteEngine On

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