.htaccess 基于HTTP_HOST服务不同的robots.txt

i2loujxw  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(188)

我有两个网站都被谷歌使用相同的代码库索引:
dev.mysite.com和example.com
我想根据每个域提供不同的robots.txt。
目前我有:

RewriteBase /

RewriteCond %{HTTP_HOST} ^dev\.mysite\.com$ [NC]
RewriteRule ^robots\.txt$ robots\.txt\.dev [L]

字符串
但是这个好像不行,谁能给我指个方向。

44u64gxh

44u64gxh1#

对我来说,通过增加额外的条件,

RewriteCond %{HTTP_HOST} ^dev\.mysite\.com
RewriteCond %{REQUEST_URI} (robots\.txt)
RewriteRule .* robots-dev.txt [L]

字符串

nfg76nw0

nfg76nw02#

在同一台服务器上多个域的另一种方式
htaccess文件

#load php file named robot.php on root folder
RewriteRule ^robots\.txt$ "\/robots.php" [L]

字符串
php文件robot.php

<?php
    header("Content-Type: text/plain");
    // default path  
    $path = "./robots.txt";
    
    if ( preg_match("/domainname_one/i",$_SERVER['SERVER_NAME']) ) {
        $path = "./domainname_one_folder/robots.txt";
    }
    if ( preg_match("/domainname_two/i",$_SERVER['SERVER_NAME']) ) {
        $path = "./domainname_two_folder/robots.txt";
    }
    if ( preg_match("/domainname_three/i",$_SERVER['SERVER_NAME']) ) {
        $path = "./domainname_two_folder/robots.txt";
    }
    echo file_get_contents( $path );
?>

相关问题