如何将IP重定向到域名?

时间:2019-10-03 12:52:28

标签: apache .htaccess redirect ip

我使用Apache Web服务器,我想将所有URL从ip重定向到域。这是我的网站.htaccess文件的内容:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\. [NC,OR]
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L,NE]

Options -Indexes

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([\s\S]*)$ index.php?rt=$1 [L,B,QSA]

根据一些研究,我想我需要这样的东西:(不确定)

RewriteBase /
RewriteCond %{HTTP_HOST} ^95\.216\.161\.63$
RewriteRule ^([\s\S]*)$ https://lamtakam.com/$1 [L,R=301]

但是我不知道如何(在哪一部分中)将这三行添加到.htaccess文件中。有任何线索吗?

1 个答案:

答案 0 :(得分:2)

您应在https/www重定向规则之前或之后插入IP重定向规则:

Options -Indexes
RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\. [NC,OR]
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L,NE]

RewriteCond %{HTTP_HOST} ^95\.216\.161\.63$
RewriteRule ^ https://lamtakam.com%{REQUEST_URI} [L,R=301,NE]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\s\S]*)$ index.php?rt=$1 [L,B,QSA]

如果要使IP匹配条件更通用,请使用:

RewriteCond %{HTTP_HOST} ^\d+\.\d+\.

能够匹配任何IP地址。