$ _SERVER ['REQUEST_URI'] не возвращает имя сервера - PullRequest
0 голосов
/ 01 апреля 2011

недавно я столкнулся со странной проблемой при загрузке файлов на мой новый сервер.

Я использую $ _SERVER ['REQUEST_URI'], чтобы найти текущее местоположение страницы и добавить некоторые параметры и перенаправить следующим образом:

<a href="<?php echo $_SERVER['REQUEST_URI'].'&action=edit&uin=1';?>">Edit</a>

Он отлично работает на моем локальном компьютере и перенаправляет на мою страницу:

localhost/admin/home.php?module=Pages&action=edit&uin=1

и мой тег:

<a href="http://localhost/sitename/admin/home.php?module=Pages&action=edit&uin=1">Edit</a>

, но на моем сервере тестирования он генерирует URLбез имени сервера, поэтому он стал похож на

<a href="http://admin/home.php?module=Pages&action=edit&uin=1">Edit</a>

и перенаправлен на: http://admin/home.php?module=Pages&action=edit&uin=1 в результате перенаправления на недопустимую страницу ...

Так интересно, какие настройки сервера создают эту разницу?

И как мы можем это решить?оба результата одинаковы

1 Ответ

2 голосов
/ 01 апреля 2011

Документация PHP может подсказать разницу:

'PHP_SELF'

Имя файла текущего выполнение сценария относительно корень документа. Например, $ _SERVER ['PHP_SELF'] в сценарии на адрес http://example.com/test.php/foo.bar будет /test.php/foo.bar. FILE Константа содержит полный путь и имя файла текущего файла (т.е. в комплекте) файл. Если PHP работает как процессор командной строки эта переменная содержит имя скрипта с PHP 4.3.0. Ранее это было недоступно.

SCRIPT_NAME '

Содержит путь текущего скрипта. Это полезно для страниц, которые должны указать на себя. ФАЙЛ константа содержит полный путь и имя файла текущего (т.е. в комплекте) файл.

'REQUEST_URI'

URI, который был дан для получить доступ к этой странице; например, «/index.html'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...