首页 文章

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

提问于
浏览
1

我想将包含?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]

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

1 回答

  • 0

    问题是存在这种情况:

    RewriteCond %{REQUEST_URI}  ^/$
    

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

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

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

相关问题