Есть сайт site1.ru и алиас - spb.site1.ru
Я прописываю в urlrewrite.php
array(
"CONDITION" => "#^/robots.txt#",
"RULE" => "",
"ID" => "",
"PATH" => "/robots.php",
),
загоняю robots.php в корень.
robots.txt - который в корне переименовываю.
создаю папку /robots/
туда помещаю robots.txt
и для поддомена robots_spb.txt
php - файл
<?
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS", true);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
$arHost = explode( ":", $_SERVER["HTTP_HOST"]);
$_SERVER["HTTP_HOST"] = $arHost[0];
$hostname = isSubdomain($_SERVER['HTTP_HOST']);
function isSubdomain($host)
{
$host = str_replace("www.", "", $host);
str_replace(".", "", $host, $count);
if($count > 1)
{
$code = explode('.', $host);
return $code[0];
}
}
function echoTextFile($file) {
if (! file_exists($file)) return false;
if (! is_readable($file)) return false;
$timestamp = filemtime($file);
$tsstring = gmdate('D, d M Y H:i:s ', $timestamp) . 'GMT';
$etag = md5($file . $timestamp);
header('Content-Type: text/plain');
header('Content-Length: '.filesize($file));
header("Last-Modified: $tsstring");
header("ETag: \"{$etag}\"");
readfile($file);
return true;
}
$robotsHost = dirname(__FILE__) . "/robots/robots_{$hostname}.txt";
$robotsDefault = dirname(__FILE__) . "/robots/robots.txt";
if(!echoTextFile($robotsHost) && !echoTextFile($robotsDefault))
{
header('HTTP/1.0 404 Not Found');
}
В итоге по адресу spb.site1.ru/robots.txt - 404 not found. nginx
Может быть проблема в nginx?
Что делать в такой ситуации?