- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть магазина на движке вебассист. К нему прилепили сапу. Но на всех страницах показываются одни и те же ссылки, что и на главной странице. Начал разбираться, что может быть за косяк, оказалось, что в переменной $_SERVER['REQUEST_URI'] хранится всегда "/". Ок, стал копаться глубже, тупо вывожу вот таким вот образом:
В итоге!!!!!
echo "<br>".$_SERVER['REQUEST_URI']."<br><br>";
выводит всегда "/" не зависимо от URL сайта.
Но!!!
phpinfo();
выводит правильный пут в переменной REQUEST_URI, например,
Apache Environment
Variable Value
... тут список разных переменных...
REQUEST_URI /category/zarubezhnoe-kino/
Что за дилема? Не врублюсь. Как так может быть? Эти две строки идут друг за другом, подмены никакой нет. В одном случае при обращении по $_SERVER['REQUEST_URI'] даёт одно значение, в другом при запросе phpinfo(); уже другое.
Кто-нибудь сможет раскусить фишку?
Пхп работает как модуль или как cgi?
[umka] добавил 06.12.2010 в 00:14
сделайте пустой скриптик script.php
<?
echo "<br>".$_SERVER['REQUEST_URI']."<br><br>";
phpinfo();
?>
и вызовите его.
возможно, движок занимается самодеятельностью.
[umka] добавил 06.12.2010 в 00:19
возможно, где-нибудь вместо
if ($_SERVER['REQUEST_URI']=='/')
написано
if ($_SERVER['REQUEST_URI']='/')
:)
;8125573']Пхп работает как модуль или как cgi?
[umka] добавил 06.12.2010 в 00:14
сделайте пустой скриптик script.php
<?
echo "<br>".$_SERVER['REQUEST_URI']."<br><br>";
phpinfo();
?>
и вызовите его.
возможно, движок занимается самодеятельностью.
[umka] добавил 06.12.2010 в 00:19
возможно, где-нибудь вместо
if ($_SERVER['REQUEST_URI']=='/')
написано
if ($_SERVER['REQUEST_URI']='/')
:)
Проверил на отдельном скриптеке, всё ОК. Пути правильные везде.
DyaDya добавил 06.12.2010 в 00:25
[umka], более того!!! Сделал для прикола вот так, попробовал заменить значение, вдруг, оно правда где-то перебивается... Проверяю так:
В итоге, внимание!!! Всё равно путь оказывается правильным! "/" не перезаписывается в переменную окружения!
В $_SERVER['REQUEST_URI'] всё равно оказывается правильный путь). Это даже, возможно, всё логично. Чтобы скрипты не могли окружение апача менять. Но тогда почему получается такой косяк, как в первом посте?!
Это какая-то фантастика. Массив этот перезаписываемый.
Но если, как вы говорите, в отдельном скрипте всё правильно, то дело в движке.
Нужно по-тихоньку дебагить шаг за шагом.
]Но если, как вы говорите, в отдельном скрипте всё правильно, то дело в движке.
В отдельном скрипте правильно. Но массив не перезаписываемый оказывается).
А с другой стороны, первый пост говорит о другом, что, видимо, перезаписываемый. Вот и ломаю голову.
А если с третьей стороны глянуть, то почему phpinfo() показывается правильно значение пути в REQUEST_URI, а в переменной $_SERVER['REQUEST_URI'] реально оказывается совсем другое значение. phpinfo из другого места данные свои вытягивает что ли?
p.s. сложно выражаюсь, но реальность пока такая)
Если отдельный скриптик
<?
$_SERVER['REQUEST_URI']="/";
echo "<br>".$_SERVER['REQUEST_URI']."<br><br>";
phpinfo();
?>
Не может перезаписать этот массив, то скорее всего на сервере устроено какое-то шаманство, вроде патчей для безопасности, и оно не даёт менять этот массив и, при этом, само иногда глюкует (случай в посте №1)
:)
]Не может перезаписать этот массив, то скорее всего на сервере устроено какое-то шаманство, вроде патчей для безопасности, и оно не даёт менять этот массив и, при этом, само иногда глюкует (случай в посте №1)
Пока остаётся верить только в это. Но не понятно, почему тогда при вызове этих строк друг за другом, они показываются разные значения в REQUEST_URI ?
1. echo "<br>".$_SERVER['REQUEST_URI']."<br><br>";
2. phpinfo();
phpinfo() при выводе, свои данные откудато вытаскивает, не завязанные напрямую с $_SERVER['REQUEST_URI'] ??? Что-то через чур уж зашаманено.
Пока остаётся верить только в это. Но не понятно, почему тогда при вызове этих строк друг за другом, они показываются разные значения?
phpinfo() при выводе, свои данные откудато вытаскивает, не завязанные напрямую с $_SERVER['REQUEST_URI'] ??? Что-то через чур уж зашаманено.
Не путаете с Apache Environment $REQUEST_URI ?
Я вот делаю
<?
$_SERVER['REQUEST_URI']='/abrakadabra';
phpinfo();
?>
и у меня phpinfo показывает в $REQUEST_URI по-прежнему '/script.php', а в $_SERVER['REQUEST_URI'] — '/abrakadabra'
]Я вот делаю
<?
$_SERVER['REQUEST_URI']='/abrakadabra';
phpinfo();
?>
и у меня phpinfo показывает в $REQUEST_URI по-прежнему '/script.php', а в $_SERVER['REQUEST_URI'] — '/abrakadabra'
Везёт вам). У вас сервер менее заколдованный) Может это связано с тем, что у вас пхп стоит как cgi, а в моём случае, как модуль? Или наоборот.
Везёт вам). У вас сервер менее заколдованный)
[умку распирает о гордости]
вобщем, если такой код
<?
$_SERVER['REQUEST_URI']='/test';
echo $_SERVER['REQUEST_URI'];
?>
не выдаёт установленное значение, то нужно интересоваться у хостера на предмет "а чё вообще за фигня?", потому что то, что этому припятствует, явно глючит (судя по ситуации из первого поста)
]не выдаёт установленное значение, то нужно интересоваться у хостера на предмет "а чё вообще за фигня?"
Т.е. идти нужно к колдунам))) Ок, так и делаю тоды.