Dot-Htaccess

使用 .htaccess 重定向流量導致重定向循環

  • August 28, 2019

當使用者從特定 url 訪問我的 webapp 時,我試圖將使用者重定向到不同的 url。例如,如果他們使用192.0.2.4:80訪問網路應用程序,我想將他們重定向到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等等

我也得到錯誤ERR_TOO_MANY_REDIRECTS

以下為我工作:

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]

引用自:https://serverfault.com/questions/979334