Съвет за редирект 301 в htaccess

Re: Съвет за редирект 301 в htaccess

Я дай пълните УРЛ-та на тези 2 вица
Код:
http://wasteland-bg.com/vic-land/jokes/1161/Убедителен-аргумент
http://wasteland-bg.com/vic-land/jokes/1160/Логични-изводи
В момента работи стария скрипт и премахва слаша накрая.
 
Re: Съвет за редирект 301 в htaccess

2 и 8??? Баси, тези цифри ги няма в урл-то... Я дай пак за тях следното:

PHP:
echo $_SERVER['REQUEST_URI'];

Не извежда абсолютно нищо.
 
Re: Съвет за редирект 301 в htaccess

хаха 🙂 оки, аз предполагах, че предишния код работи нормално. ще видя какво мога да направя, но довечера
 
Re: Съвет за редирект 301 в htaccess

хаха 🙂 оки, аз предполагах, че предишния код работи нормално. ще видя какво мога да направя, но довечера
Благодаря, когато стане. Важното е да стане все пак, че са ми сканирали около 600 грешни адреса мам....а им.
 
Re: Съвет за редирект 301 в htaccess

я дай какво показва това

PHP:
var_dump($_SERVER);
exit();

и кажи къде ти е хостинга
 
Последно редактирано:
Re: Съвет за редирект 301 в htaccess

я дай какво показва това

PHP:
var_dump($_SERVER);
exit();

и кажи къде ти е хостинга
Изкара всички променливи на сървъра ми, който е у нас. По съображения за сигурност не мисля да обнародвам данните.
 
Последно редактирано:
Re: Съвет за редирект 301 в htaccess

Чудя се дали не е по-добре да си остане така. Каква е логиката ми?
1. Ако стане скрипта, непълните адреси, които Г. вече е сканирал, ще заработят и ще се получи дублирано съдържание, докато се осъзнаят, че има canonical.

2. Гугъл търси и сканира адреси, които ботовете са намерили някъде по някакви страници (пример, ако пусна тук адрес от мой сайт и след време го изтрия от сайта, Гугъл ще ми го търси, докато го има тук). Единственото място, където имаше тези частично сканирани адреси, беше urllist.txt, който аз изтрих и забраних. Смятам, че с времето (макар и бавно) ботовете ще изчистят тези адреси и ще престанат да ги търсят като го няма първоизточника.

Ако греша в разсъжденията, моля поправете ме!

ІІ вариант - премахвам тотално скрипта и работят всички адреси, като на някои се получава слеш накрая, но canonical-а го дава без чертата.
Така обаче се опасявам, че ще стане още по-голямо дублиране, докато се съобразят изцяло само с canonical-а и затова предпочитам първия вариант.
 
Re: Съвет за редирект 301 в htaccess

Скриптът, преработен от Кобрети, работи макар и не 100% - понякога не премахва финалния слеш, но така или иначе съм го качил на сайта.
Само че в стремежа си да нямам липсващи страници, налетях на другото от което се плашех - дублирани страници.
Гугъл явно не брои за нищо каноникъла и вижте какво се получава сега (списъкът е доста по-дълъг от показаното):
2iktwgi.jpg

Моля, дайте съвет какво да правя!

Ако върна стария скрипт, може да ми изкара всички страници, които свършват с номера на вица, като липсващи. Така пък ги води дублирани... 😡
 
Re: Съвет за редирект 301 в htaccess

При толкова много професионалисти на едно място, няма ли кой да даде един полезен съвет? Кое е за предпочитане - много лисващи или много дублирани страници?

П. П. Бройката на ненамерените започна да намалява, макар и бавно.
 
Последно редактирано:
Re: Съвет за редирект 301 в htaccess

нали имаш каноникал - какво като са дублирани... остави го така
Благодаря за съвета!
Ами то друго и не ми остава. Мислех дали да не прекръстя папката и да направя редирект 301 към "новия сайт" като пусна стария скрипт и той да блокира линковете, които са само до номера на вица, но се оказа доста сложно пък и това ще ме върне в първи клас по отношение на серпа, а и без това наказанието ме изтика доста назад...
 
Re: Съвет за редирект 301 в htaccess

Каноникъл наистина работи, просто трябва търпение. Ако толкова много ти пречи, сложи на "кофтито" страници ноиндекс, фоллов.
 
Re: Съвет за редирект 301 в htaccess

Ако толкова много ти пречи, сложи на "кофтито" страници ноиндекс, фоллов.
Не става - те не са реално дублирани. Просто ботовете са сканирали веднъж целите адреси и веднъж частично само до номера на вица (така пак работят). Ето така:
Код:
http://wasteland-bg.com/vic-land/jokes/1172/Предложение-за-брак
http://wasteland-bg.com/vic-land/jokes/1172/
 
Re: Съвет за редирект 301 в htaccess

Оф, не четеш. Нaправи нещо като напр:

if ($_SERVER['REQUEST_URI']=='/vic-land/jokes/1172/') {echo '<meta name="robots" content="noindex, follow">';}
 
Re: Съвет за редирект 301 в htaccess

Оф, не четеш. Нaправи нещо като напр:

if ($_SERVER['REQUEST_URI']=='/vic-land/jokes/1172/') {echo '<meta name="robots" content="noindex, follow">';}
Одеве не схванах идеята, но не е лоша. Ще опитам да видя дали ще стане.
 
Re: Съвет за редирект 301 в htaccess

Ха-ха, хватката стана. @bgkulinar, благодаря много за добрата идея. Ето и готовия код, ако дотрябва на някого:
Код:
<?php if ($_SERVER['REQUEST_URI']=='/vic-land/jokes/'.$jokeid.'/') 
{echo '<meta name="robots" content="noindex, follow">';}
else { echo '<meta name="robots" content="index,follow" />';} ?>
Благодаря още веднъж!
 
За: Съвет за редирект 301 в htaccess

За: Съвет за редирект 301 в htaccess

Извинявам се, че повдигам темата, но си преместих сайта с вицове на под-домейн, някои неща се промениха и се наложи да доразвия кода от предния си пост. На страницата най-напред имам код за каноникъл линк, който също ще сложа тук, защото използвам една и съща променлива в двата кода, а тя не сработва само във втория.
Код:
<link rel="canonical" href="<?php 

if ($pagetitle=="Vic-land - смешните вицове и хумористични картинки") 
{
	echo "$siteurl";
}
else {
$joketitle = str_replace(' ','-',$pagetitle); // дефинирам несъществуваща до момента променлива
echo "$siteurl";
echo "jokes/$jokeid/$joketitle"; 
}
?>" />
Ето го и въпросният код за автоматично генериране на meta name="robots"
Код:
<?php $joketitle = str_replace(' ','-',$pagetitle); // дефинирам несъществуваща до момента променлива
if ($pagetitle=="Vic-land - смешните вицове и хумористични картинки") 
 echo "<meta name='robots' content='index, follow' />"; 
else 
 if(substr($_SERVER['REQUEST_URI'], -1) == '/')
 {echo "<meta name='robots' content='noindex, follow' />";}
else 
 if ($_SERVER['REQUEST_URI']=='/jokes/'.$jokeid.'/?jokeid='.$jokeid) 
 {echo '<meta name="robots" content="noindex, follow">';}
else 
 if ($_SERVER['REQUEST_URI']=='/jokes/'.$jokeid.'/'.$joketitle.'?jokeid='.$jokeid) 
 {echo '<meta name="robots" content="noindex, follow">';}
else
 echo "<meta name='robots' content='index, follow' />";
 ?>

Всичко друго е ОК, но последният if, който съдържа $joketitle, не работи. От три дни си блъскам главата, но аз съм дилетант в РНР и явно правя някоя тъпа грешка. Моля, някой специалист да ми каже къде греша.

Ето реален примерен адрес за отделните ифове:
Код:
Първият е ясен - адреса на сайта
2 - jokes/934/
3 - jokes/934/?jokeid=934
4 - jokes/934/Маруся-картечарката?jokeid=934
Този последният въпреки старанията ми получава index, follow, а искам да е noindex, follow.

Благодаря за всяка помощ!
 
За: Съвет за редирект 301 в htaccess

За: Съвет за редирект 301 в htaccess

Направих известни промени в кода, за да се схваща по-лесно логиката:
Код:
<?php $joketitle = str_replace(' ','-',$pagetitle); // дефинирам несъществуваща до момента променлива
if ($pagetitle=="Vic-land - смешните вицове и хумористични картинки") 
 echo "<meta name='robots' content='index, follow' />"; 
else 
 if($_SERVER['REQUEST_URI']=='/jokes/'.$jokeid.'/')
 {echo "<meta name='robots' content='noindex, follow' />";}
else 
 if ($_SERVER['REQUEST_URI']=='/jokes/'.$jokeid.'/?jokeid='.$jokeid) 
 {echo '<meta name="robots" content="noindex, follow">';}
else 
 if ($_SERVER['REQUEST_URI']=='/jokes/'.$jokeid.'/'.$joketitle.'?jokeid='.$jokeid) 
 {echo '<meta name="robots" content="noindex, follow">';}
else
{echo "<meta name='robots' content='index, follow' />";}
 ?>
Въпреки това, все още последният ИФ не работи. Не мога да разбера дали има грешка в самия ред или не е поставено правилно дефинирането на променливата $joketitle.

Все още се надявам някой да помогне!
 
За: Съвет за редирект 301 в htaccess

За: Съвет за редирект 301 в htaccess

Върнах се на предишния вариант на кода, защото промяната във втория ИФ го накара да пропуска случаите, когато има слеш накрая и които не искам да се индексират. Засега окончателно е това:
Код:
<?php $joketitle = str_replace(' ','-',$pagetitle); // дефинирам несъществуваща до момента променлива
if ($pagetitle=="Vic-land - смешните вицове и хумористични картинки") 
 {echo "<meta name='robots' content='index, follow' />";} 
else 
 if(substr($_SERVER['REQUEST_URI'], -1) == '/')
 {echo "<meta name='robots' content='noindex, follow' />";}
else 
 if ($_SERVER['REQUEST_URI']=='/jokes/'.$jokeid.'/?jokeid='.$jokeid) 
 {echo '<meta name="robots" content="noindex, follow">';}
else 
 if ($_SERVER['REQUEST_URI']=='/jokes/'.$jokeid.'/'.$joketitle.'?jokeid='.$jokeid) 
 {echo '<meta name="robots" content="noindex, follow">';}
else
{echo "<meta name='robots' content='index, follow' />";}
 ?>

Продължавам да моля за помощ за последния ИФ.
 

Back
Горе