@Genri_Rus

Что может блокировать динамический ЧПУ?

Доброго времени суток!

Есть сайт торговой площадки, соответственно у него есть поиск товаров

Проблема возникла в динамическом ЧПУ, а именно вот такого вот поискового запроса: example.ru/search - /тут, что искал пользователь

На тестовом варианте все работает нормально, создал .htaccess, index.php, search.php и все передается в строку браузера
А на сайте все удаляется и остается: example.ru/search/ без доп. строки
Делал в таком варианте:

В файле .htaccess

RewriteEngine On
RewriteRule ^search/(.*)/?$ search.php?str=$1

В index.php подключаются template (tpl) шаблоны

В main.tpl есть форма поиска:

<form class="my-class" role="search" action="http://example.ru/search/" method="post">
        <input type="text" name="str" placeholder="Поиск" value="">
        <button type="submit">Поиск</button>
</form>


А в search.php вот:

if (isset($_POST["str"])) { 
  setcookie("str", $_POST["str"], time() + 9999999); 
  $_COOKIE["str"] = $_POST["str"];
  header("Location: " . $_POST["str"] . '/');
}


Вот так все отлично работает и редирект на тестовом варианте отлично отрабатывает, а вот такой вариант на самом сайте нет

Слышал, что редиректу могут мешать всякие ob_start();, почему у меня не передается в строку то, что вводит пользователь ?

Может ли быть какая-та php функция очистки флешей или это все таки ошибка в ob_start();, просто в коде их там много?
  • Вопрос задан
  • 94 просмотра
Пригласить эксперта
Ответы на вопрос 1
AronTito
@AronTito
разработчик-любитель web приложений и сайтов.
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        // сюда-бы проверку через фильтра $_POST["str"] прогнать...
        setcookie("str", $_POST["str"], time() + 9999999);
        $_COOKIE["str"] = $_POST["str"];
        header("Location:/" . $_POST["str"] . '/');
}

А это вверху кода
header('Content-type:text/html; charset=UTF-8');
ob_start();
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
ООО РК Роял Набережные Челны
от 35 000 до 50 000 руб.
ISS Москва
До 140 000 руб.
Involta Иваново
от 40 000 руб.
22 февр. 2019, в 15:23
3000 руб./за проект
22 февр. 2019, в 15:12
300 руб./в час
22 февр. 2019, в 14:57
800 руб./в час