2013-04-07 3 views
0

Как получить Маршрутизованный URL, который является статическим, когда я использую $ _SERVER [ «PHPSELF»] возвращает, что текущая страница URL, как, например, дляPHP получить статический URL и получить часть URL

/show_products.php 

но URL у меня есть это

http://mysite.com/browse/department/?pid=1&order_by=a_z&filter=1 

, что я хочу получить от URL именно этот

http://mysite.com/browse/department/ 

, а также я хотел бы т o иметь возможность просто получить раздел отдела URL-адреса, так что есть две части по моему вопросу

ответ

1

Схема URL и имя хоста часть должна быть обработана отдельно из запроса URI:

// in your example, this results in "http://" 
$scheme = ($_SERVER['HTTPS'] && $_SERVER['HTTPS'] <> 'off') ? 'https://' : 'http://'; 
// in your example, this results in "mysite.com" 
$hostname = $_SERVER['SERVER_NAME']; 
// in your example, this results in "/browse/department/" 
$uri = $_SERVER['REQUEST_URI']; 

Ввод куски вместе:

// in your example, this results in "http://mysite.com/browse/department/" 
echo $scheme . $hostname . $uri; 

Подробнее о различные значения внутри массива $_SERVER[] или просто вывод phpinfo(), чтобы легко найти массив $_SERVER[] для значений, которые вам нужны.

+0

Спасибо за это. Это работает для меня ура – ONYX

0

Посмотрите на $_SERVER['REQUEST_URI'], чтобы получить «URI, который был предоставлен для доступа к этой странице» per the docs.

Обратите внимание, что REQUEST_URI не включает имя хоста, вам нужно сшить в $ _SERVER ['SERVER_NAME'].

Тогда php's parse_url() может быть самым простым способом дать вам разные части и быстро развернуть то, что вы хотите. Когда у вас есть путь от url (/ browse/department), вы можете взорваться на «/», чтобы получить отдельные фрагменты пути.

Смотрите здесь: http://3v4l.org/6ssAI

Смежные вопросы