Название сайта в зависимости от названия домена

Статус
В этой теме нельзя размещать новые ответы.

pyatakk

Постоялец
Регистрация
6 Апр 2006
Сообщения
97
Реакции
14
Прикупил два домена и прявязал к одному сайту.

Нужно что бы взависимости от имени домена выводилось соответствующее название сайта (SEO).

PHP:
<?php
if (www.name1.ru)
{
<title>название 1</title>;
}
else
 {
<title>название2</title>;
}
?>

как правильно сделать проверку имени домена?
 
Обрабатывай переменную $_SERVER["HTTP_HOST"]
Примерно так:
PHP:
<?php
if (strpos($_SERVER["HTTP_HOST", "name1.ru") !== false)
{
    echo "<title>название 1</title>";
}
else
{
    echo "<title>название2</title>";
}
?>
 
Может, лучше вот так?

PHP:
<?php
	$domains = array('site.ru'=>'Сайт.ру',
					 'hren.ru'=>'Хрен.ру');
					 
	echo '<title>'.$domains[$_SERVER['HTTP_HOST']].'</title>';
?>
 
А ещё лучше так

PHP:
<?php
    $domains = array(
        'site.ru'=>'Сайт.ру',
        'hren.ru'=>'Хрен.ру',
        'default' => 'Непонятный сайт',
    );

    $site = strtolower($_SERVER['HTTP_HOST']);
    $site = str_replace('/^www\./', '', $site);
    
    if (!array_key_exists($site, $domains)) {
        $site = 'default';
    }
                     
    echo '<title>'.$domains[$site].'</title>';
?>


Добавлено через 1 минуту
Но всё равно умные поисковики склеят оба сайта, если будет отличаться только title.
 
Чет я не понимаю в чем смысл этих преобразований. Честно... :)

Зачем дефолтовое значение делать? Для чего? Скрипт не сработает на чужом домене - ведь так? Тогда нахрена от этого страховаться? :D
 
Чет я не понимаю в чем смысл этих преобразований. Честно...
Преобразования полезны одназначно :)
Код:
$site = strtolower($_SERVER['HTTP_HOST'])
Шо будет если набрать Для просмотра ссылки Войди или Зарегистрируйся а шо если subdomen.domen.ru? Или если Subdomen.Domen.ru
По вашему "$domains = array" это всё будут разные сайты.
 
Может, лучше вот так?

PHP:
<?php
	$domains = array('site.ru'=>'Сайт.ру',
					 'hren.ru'=>'Хрен.ру');
					 
	echo '<title>'.$domains[$_SERVER['HTTP_HOST']].'</title>';
?>
как ни забавно, но это незавуалированный xss при register_globals=on


rfc 1035 написал(а):
Note that while upper and lower case letters are allowed in domain
names, no significance is attached to the case. That is, two names with
the same spelling but different case are to be treated as if identical.

и в то время, как браузеры автоматически преобразуют домены в нижний регистр, php вместе с apache сохраняют регистр (только что проверил и удивился).
 
Может тогда так?
PHP:
<?php 
$domains = array('
site.ru'=>'Сайт.ру', 
'hren.ru'=>'Хрен.ру'
);
 
$site=strtolower($_SERVER['HTTP_HOST']);
$dom =isset($domains[$site])?$domains[$site]:"";
 
if(empty($dom)) header("location: http://need.traffic.com/");
 
echo '<title>'.$domains[$_SERVER['HTTP_HOST']].'</title>';
 
?>
 
Можно и так. Только лучше после header писать exit();
 
Да пусть читает, может программистом станет ;)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху