Mod-Rewrite

如何在 Apache2 中從重定向中排除域

  • December 9, 2015

我在伺服器上有一個全面的重定向設置,如下所示:

<IfModule mod_rewrite.c>
           RewriteEngine On
           #redirect all port 80 traffic to 443
           RewriteCond %{HTTPS} off
           RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=302,L]
</IfModule>

現在我想排除一個域,但我似乎無法解決……

這是我嘗試過的:

   <IfModule mod_rewrite.c>
           RewriteEngine On
           #redirect all port 80 traffic to 443
           RewriteCond %{HTTPS} off
           RewriteCond %{HTTP_HOST) !example.com
           RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=302,L]
   </IfModule>

但是它仍然將http://example.com>重定向到<https://example.com。我究竟做錯了什麼?

PS。我在其他瀏覽器中嘗試過,所以瀏覽器記憶體應該不是問題。

好像你在這裡拼錯了配置(注意右括號)

代替

RewriteCond %{HTTP_HOST) !example.com

有了這個

RewriteCond %{HTTP_HOST} !example\.com

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