2014-12-28 194 views

回答

0

在您的虚拟主机配置中使用以下规则。

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^127\.0\.0\.1$ 
RewriteCond %{REQUEST_URI} ^/xyz$ [NC] 
RewriteRule^http:/­/url.todifferentsite.com [R=301,L] 
+0

亲爱的@Slash这对我本地工作,然而我需要在生产中导入这个,我试过这是窝为我现在...现在,如果我从浏览器打127.0.0.1/xyz我重定向到localhost/xyz ....非常感谢这是生活救世主的决议....<虚拟主机*:80> \t RewriteEngine叙述在 \t的RewriteCond%{HTTP_HOST}^127 \ 0.0 \ 0.0 \ 0.1 $ \t重写规则^ HTTP://本地主机/ XYZ [R = 301,L] 但我希望添加这个不会影响正在通过URL正确浏览网站的用户?....非常感谢..再一次..欢呼... –

+0

这是正确的。这个规则只会在http://127.0.0.1/xyz被攻击时重定向。别客气!很高兴它为你工作。 – slash

1

要阻止具有IP地址w.x.y.z的特定用户,您可以配置您的.htaccess文件。 了解更多关于.htaccess这里:http://en.wikipedia.org/wiki/.htaccess

order allow,deny 
deny from w.x.y.z 
allow from all 
+0

它不会根据用户的IP地址拒绝用户,我要求用户不应该通过服务器的IP地址来浏览网站。例如:example.com浏览是好的,但他不应该通过example.com主机浏览IP地址 –

+0

这个要求对我来说没有意义 - 也许你可以看看http标题中的主机字段 –

+0

@akshay你的建议是阻止用户使用IP地址。 –

0

正如我曾亲自使用来自前端这个逻辑有两种方式:

,如果你想用做它的JavaScript

if(window.location.host == "10.20.29.162:8080") 
{ 
    window.location.href = "http://example.com/new_url"; 
} 

上面的逻辑将检查主机名称,例如你的IP地址是“10.20.29.162:8080”,那么你的页面将被移动到“http://example.com/new_url”URL

它可以与元标记以及

<meta http-equiv="refresh" content="1;URL=http://example.com/new_url"> 

你只需要从主机,如果是IP把这个元标记在头的支持,以检查完成。

可能有更多的方法来处理它从后端。

希望这可以帮助

+0

不能这样做使用http在RewriteEngine中重写条件 RewriteCond%{HTTP_HOST} ^(4yourprice \ .com | [0-9] + \。[0-9] + \。[0-9] + \。[0-9] + )$ [NC] RewriteRule^http://www.4yourprice.com% {REQUEST_URI} [L,NE,R = 301] ...我正努力通过Apache httpd.conf文件做这项工作 –

+0

亲爱的纳文库马尔感谢您的信息,这可以用作解决方法,但不是最佳解决方案,因为我的应用程序没有任何公共页面,所以我需要在100页中添加此条件:-( –

0

如果我通过IP地址浏览网站,它正确地重定向。

希望这会帮助他人。

<VirtualHost *:80> 
    RewriteEngine On 
    RewriteCond %{HTTP_HOST} ^127\.0\.0\.1$ 
    RewriteRule^http://localhost.com/xyz [R=301,L] 
</VirtualHost>