如何将一个访客IP地址重定向到我网站上的指定页面

时间:2018-05-20 12:45:10

标签: .htaccess

我正在尝试使用.htaccess重定向具有指定IP地址的访问者,以便在访问我网站上的任何页面时始终重定向到指定的页面。我已经尝试了下面的代码,但它导致了错误。我正在使用wordpress网站。

RewriteCond %{REQUEST_URI} !/specified-page/$ [NC]
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif|css|js) [NC]
RewriteCond %{REMOTE_HOST} !^1\.2\.3\.4
RewriteRule $ /specified-page/ [R=302,L]

导致“ERR_TOO_MANY_REDIRECTS”消息。

作为旁注,我的域名指向我的网站空间中的子文件夹。和其他一些网站一样。这都来自我的网站空间根目录中的另一个.htaccess文件,代码如下。

RewriteCond %{HTTP_HOST} ^([^.]+\.)?mydomain1\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/mywebsitefolder1/
RewriteRule (.*) /mywebsitefolder1/$1 [L]
RewriteCond %{HTTP_HOST} ^([^.]+\.)?mydomain2\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/mywebsitefolder2/
RewriteRule (.*) /mywebsitefolder2/$1 [L]

依旧......

(.htaccess我正在尝试编辑以创建IP重定向位于'mywebsitefolder1'文件夹中。)

1 个答案:

答案 0 :(得分:0)

尝试这样:

RewriteCond %{REQUEST_URI} !/specified-page/$ [NC]
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif|css|js) [NC]
RewriteCond %{REMOTE_HOST} !^1\.2\.3\.4
RewriteRule ^ /specified-page/? [R=302,L]

这也将删除可能导致重定向循环的可选查询字符串。

你确实有一个循环条件。让我们这样试试:

RewriteCond %{REMOTE_HOST} ^1\.2\.3\.4
RewriteCond %{REQUEST_URI} !/specified-page/$ [NC]
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif|css|js) [NC]
RewriteRule ^ /mywebsitefolder1/specified-page/ [R=302,L]

RewriteCond %{HTTP_HOST} ^([^.]+\.)?mydomain1\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/mywebsitefolder1/
RewriteRule (.*) /mywebsitefolder1/$1 [L]
RewriteCond %{HTTP_HOST} ^([^.]+\.)?mydomain2\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/mywebsitefolder2/
RewriteRule (.*) /mywebsitefolder2/$1 [L]