Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Добавить исключение в php


 Share

Recommended Posts

Здравствуйте. Подскажите, кто в php понимает что нужно добавить в код, что бы сделать исключение для фильтра, у фильтра урлы все начинаются /?ocf=, то есть что бы noindex не применялся для страниц с ?ocf=

<?php
    $url = $_SERVER['REQUEST_URI'];
    if (strpos($url,'?') !== false) {
    echo '<meta name="robots" content="noindex, follow" />' . "\n";
    } else {
    echo '<meta name="robots" content="index, follow" />';
}
?>

 

Link to comment
Share on other sites


Как я и ожидал от своих кривых рук ничерта не получилось))) С if isset($this->request->get[ocf], выходит ошибка

Сделал следующую конструкцию, не знаю насколько это правильно, но в любом случае работает... Остался нюанс, у фильтра есть пагинация и её нужно как то убрать из индексации, то есть что бы пагинация была noindex.

<?php
    $url = $_SERVER['REQUEST_URI'];
    if (strpos($url,'?') !== false and strpos($url,'?ocf') !=true) {
    echo '<meta name="robots" content="noindex, follow" />' . "\n";
    } else {
    echo '<meta name="robots" content="index, follow" />';
}

 

Link to comment
Share on other sites


23.10.2022 в 18:02, aka75 сказал:

Как я и ожидал от своих кривых рук ничерта не получилось))) С if isset($this->request->get[ocf], выходит ошибка

Сделал следующую конструкцию, не знаю насколько это правильно, но в любом случае работает... Остался нюанс, у фильтра есть пагинация и её нужно как то убрать из индексации, то есть что бы пагинация была noindex.

<?php
    $url = $_SERVER['REQUEST_URI'];
    if (strpos($url,'?') !== false and strpos($url,'?ocf') !=true) {
    echo '<meta name="robots" content="noindex, follow" />' . "\n";
    } else {
    echo '<meta name="robots" content="index, follow" />';
}

 

Это дичь.

Если ошибка $this->request->get['ocf']

Значит условие где-то в index.php или в шаблоне, или кавычки не установили

Значит isset($_GET['ocf'])

 

Edited by buslikdrev
Link to comment
Share on other sites

23.10.2022 в 22:48, buslikdrev сказал:

Это дичь.

Если ошибка $this->request->get['ocf']

Значит условие где-то в index.php или в шаблоне, или кавычки не установили

Значит isset($_GET['ocf'])

 

нет, сам код  с ошибкой

if isset($this->request->get[ocf]

Где скобки? Где апострофы

Код был дан только как толчок к решению

Link to comment
Share on other sites

23.10.2022 в 19:02, aka75 сказал:

Как я и ожидал от своих кривых рук ничерта не получилось))) С if isset($this->request->get[ocf], выходит ошибка

Сделал следующую конструкцию, не знаю насколько это правильно, но в любом случае работает... Остался нюанс, у фильтра есть пагинация и её нужно как то убрать из индексации, то есть что бы пагинация была noindex.

<?php
    $url = $_SERVER['REQUEST_URI'];
    if (strpos($url,'?') !== false and strpos($url,'?ocf') !=true) {
    echo '<meta name="robots" content="noindex, follow" />' . "\n";
    } else {
    echo '<meta name="robots" content="index, follow" />';
}

 

<?php
  //check if isset get parameter ocf or page
  if(isset($_GET['ocf']) || isset($_GET['page'])){
  	echo '<meta name="robots" content="noindex, nofollow" />' .PHP_EOL;
  }else{
  	echo '<meta name="robots" content="index, follow" />';
  }

?>

 

нюанс!!!! если у фильтра есть пагинация, и он сохраняет гет параметр фильтрации в запросе, то пагинация и так попадает под проверку.
т.е. не надо делать проверку на пагинацию по сколку и так есть параметр ?ocf в запросе, а для него исключение есть

 

site.com/products/phones/?ocf=brand_1&page_=2

Edited by SevenTM
Link to comment
Share on other sites


26.10.2022 в 12:20, SevenTM сказал:
<?php
  //check if isset get parameter ocf or page
  if(isset($_GET['ocf']) || isset($_GET['page'])){
  	echo '<meta name="robots" content="noindex, nofollow" />' .PHP_EOL;
  }else{
  	echo '<meta name="robots" content="index, follow" />';
  }

?>

 

неверно

'ocf'
может быть внутренним параметром (его может не быть в $_GET )
$this->get = $this->clean($_GET);

использование $_GET - только в исключительных случаях

  • +1 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.