【问题标题】:How to restrict other websites from accessing by htaccesshtaccess如何限制其他网站访问
【发布时间】:2014-07-13 21:46:54
【问题描述】:

最近我遇到一个奇怪的问题,我的网站www.xyz.com 被网络域上的某个人指向假设www.abc.com

虽然整个网站都在www.xyz.com 上,但另一个域按其域显示每个内容和目录路径结构......例如真正的路径是www.xyz.com/somepage/id/etc 可以通过 www.abc.com/somepage/id/etc 使用相同的目录路径....

这个其他网站只是将所有内容重定向到我的网站,我想停止这个域以使用我的目录结构。这个www.abc.com 也被谷歌爬虫抓取并在谷歌搜索引擎中添加了它的链接。

这对我来说是一个非常新的问题我有一个解决方案来限制每个请求并检查它是否来自我自己的网站。

第二种解决方案是通过htaccess 限制它们,但我没有找到使用htaccess 的完美解决方案。 我在网上看到它会阻止所有引荐来源网址,但这样做我担心如果它会阻止用户从其他网站访问我的网站......我只需要限制其他域使用我的整个网站作为他们使用重定向的网站.. .我已经把这个问题放在爸爸身上,他们说他们也不知道为什么其他网站指向我的IP地址......所以我需要专家建议来保护我的网站免受未来此类问题的影响......请建议...

我的htaccess是

Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule . index.php

我正在使用 YII...

【问题讨论】:

  • 只需在 google 上查看“apache rewrite referrer”以及如何在 apaches rewriting 模块中对其进行评估。谷歌上有数百万个这样的例子。

标签: apache .htaccess redirect web


【解决方案1】:

在您的 .htaccess 文件中:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.xyz\.com$
RewriteCond %{HTTP_HOST} !^subdomain\.xyz\.com$
RewriteRule .* - [F]

【讨论】:

  • Philip 我已经尝试过了,但它甚至停止了我自己的域,请再次检查我的问题我已经编辑并发布了我的 .htaccess 文件...我在 RewriteRule 下使用你的代码。 index.php
  • 现在试试我刚刚做的调整;它适用于我的测试服务器。
  • THANKSSSSS 人......它工作但是像xyz.net这样的子域和谷歌参考不起作用,我有两个三个子域,如secure.xyz.net,bugtrack.xyz.net......它只适用于 www.xyz.net 我真的需要你的建议吗??
  • 我已经用插图调整了这个例子。
【解决方案2】:

您可以将此规则放在RewriteEngine On 行的下方:

RewriteEngine On

RewriteCond %{REMOTE_HOST} abc\.com$ [NC,OR]
RewriteCond %{HTTP_REFERER} abc\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} !xyz\.(com|net)$ [NC]
RewriteRule ^ - [F]

【讨论】:

  • 感谢您的解决方案,虽然您的解决方案要好得多,但我已经给另一个答案一个绿色信号...但我会给您投票...再次感谢它一直有效。
  • 我总是忘记逃跑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-01
  • 1970-01-01
  • 2014-12-30
  • 2013-11-25
  • 2019-03-18
  • 1970-01-01
相关资源
最近更新 更多