我们的网站允许在域之前使用任何前缀/子域名。
因此,如果我们的网站是www.domain.com,则服务器允许; www.anything.domain.com,其中'任何'可以是字面上的任何东西,它显示实际存在的页面上的任何内容。
因此,www.anything.domain.com/something.php显示的内容只能通过www.domain.com/something.php访问。
有没有办法使用.htaccess来阻止这种情况发生,或者将其重定向到实际存在的版本?
或者这需要在服务器上完成吗?
有谁知道为什么允许这样做?
答案 0 :(得分:0)
理想情况下,这应该在服务器配置文件中配置(同样,您可以将DNS配置为根本不解析不需要的主机名,但这可能是另一个问题)。
如果您无法访问服务器配置,则可以在.htaccess
中执行此操作:
# to block access if any domain except example.com or www.example.com was used
RewriteEngine On
RewriteCond %{HTTP_HOST} !=www.example.com
RewriteCond %{HTTP_HOST} !=example.com
RewriteRule ^ - [F]
或
# if any domain except example.com or www.example.com was used,
# redirect the request to www.example
RewriteEngine On
RewriteCond %{HTTP_HOST} !=www.example.com
RewriteCond %{HTTP_HOST} !=example.com
RewriteRule ^ http://www.example.com%{REQUEST_URI} [R=301]