Доброго времени суток!
Есть сайт торговой площадки, соответственно у него есть поиск товаров
Проблема возникла в динамическом ЧПУ, а именно вот такого вот поискового запроса: 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();, просто в коде их там много?