当用户从特定 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:8989
ETC。
我也收到错误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]