Къде греша в този скрипт?

diabolic.bg

The Old Wastelander
Код:
<?php if (($_SERVER['REQUEST_URI']=='/vic-land/jokes/'.$jokeid.'/') || 
($_SERVER['REQUEST_URI']=='/vic-land/jokes/'.$jokeid.'/'. $pagetitle .'/'))
{
	echo '<meta name="robots" content="noarchive, noindex, follow">';
}
else 
{
	echo '<meta name="robots" content="noarchive, index, follow" />';
} ?>
Второто условие на if -а не се изпълнява. Нямам и съобщение за грешка?
Искам да дава <meta name="robots" content="noarchive, index, follow"> само, ако няма слеш накрая.
Благодаря предварително!
 
Re: Къде греша в този скрипт?

Опитай така.
PHP:
<?php 
if ($_SERVER['REQUEST_URI']=='/vic-land/jokes/'.$jokeid.'/' or $_SERVER['REQUEST_URI']=='/vic-land/jokes/'.$jokeid.'/'. $pagetitle .'/'){
	echo '<meta name="robots" content="noarchive, noindex, follow">';
}else{
	echo '<meta name="robots" content="noarchive, index, follow" />';
} 
?>
 
Re: Къде греша в този скрипт?

Опитай така.
PHP:
<?php 
if ($_SERVER['REQUEST_URI']=='/vic-land/jokes/'.$jokeid.'/' or $_SERVER['REQUEST_URI']=='/vic-land/jokes/'.$jokeid.'/'. $pagetitle .'/'){
	echo '<meta name="robots" content="noarchive, noindex, follow">';
}else{
	echo '<meta name="robots" content="noarchive, index, follow" />';
} 
?>
Пак не става.
 
Re: Къде греша в този скрипт?

За проверка съм си писал моя си функция която що годе работи добре опитай с нея тъй-като гледам че имаш и адреси с кирилски имена предполагам че от там идва проблема.

PHP:
<?php 

function checkUrl($thisurl){
    $domain = "http://domain.com"; // твоят домейн
    $url = urldecode("$domain".$_SERVER['REQUEST_URI']);
    if(mb_detect_encoding($url,"UTF-8, ISO-8859-1, GBK")=="UTF-8"){
        $url = iconv('UTF-8','windows-1251', $url);
    }
        if($thisurl != $url){
            return FALSE;
        }else{
            return TRUE;
        }
}

if(checkUrl('http://domain.com/vic-land/jokes/'.$jokeid.'/') == FALSE or checkUrl('http://domain.com/vic-land/jokes/'.$jokeid.'/'. $pagetitle .'/') == FALSE){
    echo '<meta name="robots" content="noarchive, index, follow" />';
}else{
    echo '<meta name="robots" content="noarchive, noindex, follow">';
}
?>
 
Re: Къде греша в този скрипт?

Когато логиката е верна, но не сработва, винаги прави echo на променливите. защото това, което си мислиш, че са и ттова, което са, не винаги е едно и също.
 
Re: Къде греша в този скрипт?

Благодаря на всички, отзовали се до момента, но нито един от вариантите не сработи (включително опитвах варианти на предложените скриптове в комбинация с предложението на cloxy.

Очаквам нови предложения.
 
Re: Къде греша в този скрипт?

Дай един опит на това и кажи да го умуваме.
<?php
if(substr($_SERVER['REQUEST_URI'], -1) == '/')
echo "<meta name='robots' content='noarchive, noindex, follow' />";
else
echo "<meta name='robots' content='noarchive, index, follow' />";
?>

А с htaccess да пренаписваш url-то?
 
Re: Къде греша в този скрипт?

Дай един опит на това и кажи да го умуваме.
<?php
if(substr($_SERVER['REQUEST_URI'], -1) == '/')
echo "<meta name='robots' content='noarchive, noindex, follow' />";
else
echo "<meta name='robots' content='noarchive, index, follow' />";
?>

А с htaccess да пренаписваш url-то?


Това вече свърши работа тотално. Дава noindex на всеки адрес, който завършва със слеш. Пример:
Код:
http://wasteland-bg.com/vic-land/jokes/621/
http://wasteland-bg.com/vic-land/jokes/621/Българските-градове-на-Английски/
http://wasteland-bg.com/vic-land/jokes/1175/Заплатата-няма-значение/
Но ако се махне слеша
Код:
http://wasteland-bg.com/vic-land/jokes/621/Българските-градове-на-Английски
http://wasteland-bg.com/vic-land/jokes/1175/Заплатата-няма-значение
вече дава index

Благодаря!

П.П. Адресите наистина пренаписвам с htaccess.

С каноникъл съм задал да няма слеш накрая и се надявам да спрат от Гугъл да ми дават дублирано съдържание за един и същ адрес със или без слеш. 🙂
 
Re: Къде греша в този скрипт?

Искам да дава <meta name="robots" content="noarchive, index, follow"> само, ако няма слеш накрая.

Не трябва ли тогава да им размениш местата?

П.П. Аз докато .. решението е намерено вече 🙂
 

Back
Горе