| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Не работает $_SERVER['REQUEST_URI'] |
| Автор: proger 15.6.2006, 12:41 |
| Здрасти, на апачи функция $_SERVER['REQUEST_URI'] отрабатывает, а на IIS почемуто не работает, результат на $_SERVER['REQUEST_URI'] на IIS равен пустоте. Почему? Спасибо. |
| Автор: vasac 15.6.2006, 13:08 |
| Потому что $_SERVER — переменные сервера Apache. А что в IIS, видимо, можно прочитать в доке по IIS. ЗЫ. И это не функция м/у прочим. |
| Автор: MeFistofeL 15.6.2006, 14:33 | ||
Попробуй написать
|
| Автор: Mal Hack 15.6.2006, 22:39 |
| MeFistofeL, эта запись устарела, использовать ее не грамотно. proger, print_r( $_ENV ); Вроде так массив называется. |
| Автор: vasac 16.6.2006, 09:05 | ||
А еще
и сразу видно, какие массивы есть и что содержат |
| Автор: MeFistofeL 16.6.2006, 09:33 |
| Ну так вопрос состоял в том, что $_SERVER["REQUEST_URI"] работает в Apache но не фурычет а IIS |
| Автор: AztEK 16.6.2006, 13:20 | ||
| А спасает ли функция getenv() от проблем с совместимостью? Добавлено @ 13:22 В мануале просто написано
|
| Автор: vasac 16.6.2006, 13:45 | ||
Дак вот, распечатать структуру переменных и посмотреть, есть ли там ему адекватная замена. |
| Автор: MeFistofeL 16.6.2006, 16:45 | ||||||
В доке написанно :
Теперь вопрос : proger какая у тебя версия php сервера ? Добавлено @ 16:50 А вот теперь насчёт того, чтобы
В доке написанно REQUEST_URI : URI, который был предоставлен для того, чтобы обратиться к этой странице; например, '/index.html'. Ну на сколько я понял URI страницы на которой мы щас находимся, или URI страницы-родителя с которой мы перешли на данную страницу? |
| Автор: -=Ustas=- 16.6.2006, 17:17 |
| Автор: [xoodo] 16.6.2006, 17:21 |
| На IIS прекрасно работает $_SERVER['REQUEST_URI']. $_ENV у меня пустой, $GLOBALS -- ансет. $_SERVER -- это переменная сервера вообще, а не Апача. Добавлено @ 17:22 Код в студию, где не работает! Добавлено @ 17:24 Да, вместе с версией ПХП укажи еще версию IIS. Мало ли... Хотя вряд ли у тебя четвертая или ниже. |
| Автор: xolod 16.6.2006, 17:29 | ||
| Если IIS 5.1 и Windows XP — то вполне. В такой связке $_SERVER['REQUEST_URI'] пусто. Вариант решения:
Вставить код в начало, в переменной $_SERVER['REQUEST_URI'] будет то, что хочется. |
| Автор: MeFistofeL 16.6.2006, 17:37 | ||||
Ну если URI страницы на которой мы щас находимся то чтобы узнать полный путь мона заюзать
а если нада тока имя то:
|
| Автор: MeFistofeL 16.6.2006, 17:53 |
| Насчёт $_SERVER["SCRIPT_NAME"] небольшое уточнение : оно работает также как и $PHP_SELF возвращает относительный путь и имя страницы, а вот $_SERVER["PATH_TRANSLATED"] возвращает полный путь типа 'c:\\inetpub\\wwwroot\\test\\test1.php' |
| Автор: [xoodo] 16.6.2006, 18:30 | ||
А версия Винды вообще имеет значение? Каким и какого, интересно? Я думал, токмо версия сервера. У меня Win SBS 2000 и вышеупомянутый IIS 5.1, повторюсь -- все ок. |
| Автор: xolod 16.6.2006, 22:03 |
| [xoodo], к сожалению имеет. IIS особо тесно интегрирован с API и системными службами самой ОС, чего нельзя сказать о кроссплатформенном Apache. Ладно, не будем засорять раздел не по теме. В целом решение уже дано, и не только мной. А автор что-то затих. |
| Автор: proger 18.6.2006, 13:27 |
| У меня верси пхп 5.* |
| Автор: proger 19.6.2006, 06:58 | ||
Всем большое спасибо, вот отличное ваше решение:
|
| Автор: nextzi0 25.11.2009, 15:51 |
| sorry =) |