如何将包含IP地址的所有URL重定向到我的www域?

ty.*_*ty. 4 regex apache mod-rewrite rewrite

我有几个不同IP地址的服务器.我想让它无法通过IP直接与他们联系.相反,我希望他们重定向到我的域名www.site.com.

以下条件与确切的IP匹配:

RewriteCond %{REMOTE_HOST} !^123\.456\.789\.012$
Run Code Online (Sandbox Code Playgroud)

如何使用Apache重写规则匹配任何 IP?

Ala*_*ter 8

请注意,您使用的是错误的标签.它不是REMOTE_HOST,因为这是用户的ip.您需要HTTP_HOST来获取服务器的IP.

例如::

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^\d+\.
RewriteRule (.*) http://www.example.com/$1 [R=301]
Run Code Online (Sandbox Code Playgroud)

编辑,如果您愿意,可以使用更具体的正则表达式.主要问题是你的原始标签.

EDIT2:

如果您有要重定向的特定 IP 列表,则可以使用

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^111\.111\.111\.111 [OR]
RewriteCond %{HTTP_HOST} ^222\.222\.222\.222
RewriteRule (.*) http://www.example.me/$1 [R=301]
Run Code Online (Sandbox Code Playgroud)