@IgorRastarov

Как сделать разные robots для сайта на битриксе для алиасов?

Есть сайт 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?
Что делать в такой ситуации?
  • Вопрос задан
  • 104 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы