Windows-Server-2008

Apache <VirtualHost> 標籤,如果客戶端的 IP = x 則不重定向… 怎麼做?

  • April 10, 2016

所以我在任何地方都找不到這個問題的答案……當我的客戶使用 http 時,我將其從 http 重定向到 https,方法是在我的 httpd.conf

&lt;VirtualHost *:80&gt;
  ServerName futurelegendonline.net
  Redirect permanent / https://futurelegendonline.net/
&lt;/VirtualHost&gt;

但我想讓它只重定向使用我的域地址(futurelegendonline.net)的人。所以基本上,這對我有用,但是當人們使用 IP 本身(199.168.117.73)時,我希望它起作用。有什麼辦法可以做到這一點嗎?或者,只是例外,不以某種方式重定向某些客戶端 IP?

謝謝你。

完成您所要求的最乾淨的方法是VirtualHost在您的配置中創建兩個單獨的。

第一個VirtualHost將定義預設虛擬主機,它將用於為所有客戶端提供伺服器,指定伺服器未知的主機名。

如果您使用的發行版約定將所有內容VirtualHost放在一個配置文件中,它可能大致如下所示:

&lt;VirtualHost *:80&gt;
  ServerName 199.168.117.73
  DocumentRoot /var/www/default
&lt;/VirtualHost&gt;

&lt;VirtualHost *:80&gt;
  ServerName futurelegendonline.net
  Redirect permanent / https://futurelegendonline.net/
&lt;/VirtualHost&gt;

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