我有一个网站“www.mysite.com”,它有自己的IP。现在几个月后我看到几个域指向我的ip服务器(它不是共享的ip)。我可以通过整个网站浏览这些未经授权的域名,他们会在谷歌中使用我的内容和所有内容编入索引。
如何设置我的htaccess只允许“www.mysite.com”请求?
更新
这是我迄今为止写过的.htaccess的建议,但不知怎的,第一页仍然提供,没有图像
的.htaccess
SetEnvIfNoCase Referer "^http://(www.)?thiefdomain.com" spam_ref
SetEnvIfNoCase Referer "^http://(www.)?thiefdomain2.com" spam_ref2
<FilesMatch "(.*)">
Order Allow,Deny
Allow from all
Deny from env=spam_ref
Deny from env=spam_ref2
</FilesMatch>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
如何避免显示第一页?
答案 0 :(得分:11)
如果您想使用mod_rewrite,可以检查SERVER_NAME
以阻止未经授权的域:
RewriteEngine on
RewriteCond %{SERVER_NAME} ^(www\.)?thiefdomain1\.example$ [OR]
RewriteCond %{SERVER_NAME} ^(www\.)?thiefdomain2\.example$ [OR]
RewriteCond %{SERVER_NAME} ^(www\.)?thiefdomain3\.example$
RewriteRule ^ - [F]
或
RewriteEngine on
RewriteCond %{SERVER_NAME} !^(www\.)?yourdomain\.example$
RewriteCond %{SERVER_NAME} !^(www\.)?yourdomain-alias\.example$
RewriteRule ^ - [F]
如果您具有root权限,您还可以使用基于名称的虚拟主机解决问题,如下所示:
NameVirtualHost *:80
<VirtualHost 192.0.2.100:80>
ServerName dummy
<Location />
Order deny,allow
Deny from all
</Location>
...
</VirtualHost>
<VirtualHost 192.0.2.100:80>
ServerName www.yourdomain.example
ServerAlias yourdomain.example
...
</VirtualHost>
第一个VirtualHost
定义被视为默认虚拟主机。如果以thiefdomain1.example,thiefdomain2.example,thiefdomain3.example或除www.yourdomain.example或yourdomain.example(在第二个VirtualHost
中定义)之外的任何其他主机名访问192.0.2.100,则Apache引用第一个VirtualHost
并返回403 Forbidden status。
答案 1 :(得分:0)
1)你的小偷来自哪些IP?你能阻止这些IP吗?
2)您是否曾向Google报告内容窃取(如果您可以证明您是所有者)?
3)您是否向域名托管服务商报告过此事? (例如GoDaddy)
4)您也可以重写HTML,因此它们是绝对路径而不是相对路径:
例如,相对路径如下所示:
< a href="/page/2.html">page 2</a>
绝对路径将包含您的网站地址:
<a href="http://www.site.com/page/2.html">page 2</a>
答案 2 :(得分:-5)
我不能特别说htaccess。但通过编程,你可以实现这一目标。 比如,您的域名是www.mydomain.com。假设浏览器正在请求您网站的about-me部分。你可以做到以下几点。我正在为PHP展示(因为我很少接受过php教育)。
<?php
if($_SERVER['HTTP_HOST'] == "your domain")
{
//show content
}
else
{
echo "your are not authorized to view contents from here.";
}
如果您更喜欢其他语言,他们可能会找到主机名。