Apache 如何阻止来自除我之外的域的请求?

Apache 如何阻止来自除我之外的域的请求?,apache,.htaccess,mod-rewrite,dns,Apache,.htaccess,Mod Rewrite,Dns,我有一个wordpress网站,说mydomain.in,有人正在使用域屏蔽,可以在他们的域(比如external.com)上打开我的网站,而无需我的许可。我有这个。htaccess规则,但它不起作用 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_REFERER} !mydomain.in RewriteRule ^.*$ - [F] RewriteBase / RewriteRule ^index\.

我有一个wordpress网站,说mydomain.in,有人正在使用域屏蔽,可以在他们的域(比如external.com)上打开我的网站,而无需我的许可。我有这个。htaccess规则,但它不起作用

<IfModule mod_rewrite.c>
RewriteEngine On


RewriteCond %{HTTP_REFERER} !mydomain.in
RewriteRule ^.*$ - [F]

RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule .* https://www.mydomain.in/? [R=301,L]
</IfModule>

重新启动发动机
重写cond%{HTTP_REFERER}!mydomain.in
重写规则^.*$-[F]
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
重写规则。*https://www.mydomain.in/? [R=301,L]
但它仍然从他们的领域开放。此问题的解决方案是什么

RewriteEngine On

RewriteCond %{HTTP_HOST} !^(?:www\.)?mydomain\.in$ [NC]
RewriteRule ^ - [F]

RewriteRule ^index\.php$ - [L,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
注意这项新规则:

RewriteCond %{HTTP_HOST} !^(?:www\.)?mydomain\.in$ [NC]
RewriteRule ^ - [F]

这将检查请求的
HTTP\u HOST
是否不是
mydomain。在
中,只需使用
403-禁止
状态阻止请求即可。

请尝试放置类似
RewriteCond%{HTTP\u REFERER}的内容^http://mydomain\.com[NC]
看看这是否有帮助?@anubhava,这是一个很好的陷阱,先生,你可以把它作为一个答案张贴在IMHO上。@anubhava你能详细说明一下吗?我不明白。重写引擎上的重写规则。*?[R=301,L]像这样?我需要重新启动apache或其他任何东西才能应用新规则吗?好的。这是我的地盘。。这是要阻止的外部域。它仍在开放。解决方案是什么?域名
www.dsplzhyy.com
注册在中国江苏省
所以显然不是你的。看来你的网站上可能有黑客企图。让我们来看看。