4

我正在寻找一种通用的 IP 规范化解决方案,它不会在我的 htaccess 文件中对 IP 地址进行硬编码。我通常在亚马逊 EC2 实例上运行我的应用程序,并且 IP 地址经常更改。我不想每次都手动更新 htaccess。所以具体来说,我正在寻找匹配通过 ip 地址访问的页面并执行 301 重定向到实际域的 htaccess 规则。

4

2 回答 2

0

您是否考虑过使用各种动态 DNS来代替?这将使 IP 地址经常更改,同时保持相同的 DNS 名称。

于 2013-03-18T20:49:30.817 回答
0

我将假设您没有任何子域。以下应该可以解决问题:

Options +FollowSymLinks
RewriteEngine on
# 1
RewriteCond %{HTTP_HOST} .
# 2
RewriteCond %{HTTP_HOST} !^www\.domain\.com$
# 3
RewriteRule (.*) http://www.domain.com/$1 [R=301,L]

这将重定向对所有资源3的实际域2以外的任何1的请求。

编辑:对于子域,那么以下应该工作:

# If it's one of the domains of the IP address …
RewriteCond %{HTTP_HOST} ^domain\.com [OR]
RewriteCond %{HTTP_HOST} ^111\.222\.222\.111
# … then redirect request for all resources.
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
于 2013-03-13T03:06:36.973 回答