regex - 仅从搜索引擎中阻止 2 个域中的 1 个

标签 regex apache .htaccess mod-rewrite robots.txt

我在同一台服务器和同一目录中托管两个域。我想阻止搜索引擎访问其中的一个域,但不想阻止另一个域。

假设我有:

www.site1.com 和 www.site2.com

两者都指向服务器上的同一个 IP,我只想阻止 site2.com 而不是 site1.com。

我该怎么做?有什么线索吗?

最佳答案

使用以下代码创建一个名为 robots2.txt 的文件:

User-agent: *
Disallow: /

然后将此规则放入您的 DOCUMENT_ROOT/.htaccess 文件中:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?site2\.com$ [NC]
RewriteRule ^robots\.txt$ /robots2.txt [L,NC]
  1. 这将为 site2 的所有 /robots.txt 请求提供 /robots2.txt
  2. 常规 /robots.txt 将用于 site1
  3. 只有 site2 会被搜索引擎屏蔽。

关于regex - 仅从搜索引擎中阻止 2 个域中的 1 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24369352/

相关文章:

javascript - 用于在 Javascript 中替换具有一种标记类型的字符串的正则表达式

apache - Bash - 安全脚本

apache - 为什么在升级到 High Sierra 时需要从我的配置文件中删除 "Listen 80"?

.htaccess - 将旧链接(HTML 站点)重定向到新页面(PHP 站点)

regex - 重写将简单的正则表达式重定向到基本文件

java - 关于java中的正则表达式

javascript - 验证电子邮件字段

javascript - 用正则表达式替换查询字符串?

mysql - 带有 Rails + Apache/Passenger 和 MySql 的 Linux Mint

.htaccess - 为 N 个查询字符串重写 url