使用 .htaccess 重定向流量导致重定向循环

使用 .htaccess 重定向流量导致重定向循环

当用户从特定 URL 访问我的 Web 应用时,我尝试将用户重定向到其他 URL。例如,如果他们曾经192.0.2.4:80访问过 Web 应用,我希望将他们重定向到192.0.2.5:8989

这是我的.htaccess文件:

RewriteEngine On
    RewriteCond %{HTTP_HOST} !http://192.0.2.4:80$ [NC]
    RewriteRule ^(.*)$ http://192.0.2.5:8989$1 [L,R=301]

当我使用它访问该网站时,192.0.2.4:80它会重定向到,192.0.2.5:8989但它会在 URL 栏中重复连接它。例如:

192.0.2.5:8989/192.0.2.5:8989/192.0.2.5:8989/192.0.2.5:8989ETC。

我也收到错误ERR_TOO_MANY_REDIRECTS

答案1

以下对我有用:

RewriteCond %{HTTP_HOST} ^192.0.2.4:80$
RewriteRule ^/?$ http://192.0.2.5:8989 [R=301,L]

编辑

正如 MrWhite 所建议的,上述重定向仅重定向根目录。下面的重定向将重定向所有子目录。

RewriteCond %{HTTP_HOST} ^13.210.137.143$
RewriteRule ^(.*)$ http://192.0.2.5:8989/$1 [L,R=301]

相关内容