我有一个网站"www.mysite.com",它有自己的IP.现在几个月后我看到几个域指向我的ip服务器(它不是共享的ip).我可以浏览整个网站与这些未经授权的域名,他们在谷歌索引与我的内容和所有.
如何设置我的htaccess只允许"www.mysite.com"的请求?
UPDATE
这是我迄今为止写的.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]
Run Code Online (Sandbox Code Playgroud)
如何避免显示第一页?
yas*_*asu 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]
Run Code Online (Sandbox Code Playgroud)
要么
RewriteEngine on
RewriteCond %{SERVER_NAME} !^(www\.)?yourdomain\.example$
RewriteCond %{SERVER_NAME} !^(www\.)?yourdomain-alias\.example$
RewriteRule ^ - [F]
Run Code Online (Sandbox Code Playgroud)
如果您具有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>
Run Code Online (Sandbox Code Playgroud)
第一个VirtualHost定义被视为默认虚拟主机.如果以thiefdomain1.example,thiefdomain2.example,thiefdomain3.example或除www.yourdomain.example或yourdomain.example(在第二个中定义VirtualHost)之外的任何其他主机名访问192.0.2.100 ,则Apache引用第一个VirtualHost并返回403 Forbidden状态.