m0pfin
@m0pfin

Как отловить $_GET (ЧПУ) если он заранее неизвестен?

Есть ЧПУ ссылки и на основе их выводится контент, как определить УРЛ указаный в GET

.htaccess

RewriteEngine On
RewriteBase /

# Если запрошенный URL не является файлом на сервере...
RewriteCond %{REQUEST_FILENAME} !-f
# ...и если он также не является папкой, то...
RewriteCond %{REQUEST_FILENAME} !-d
# Перенаправляем запрос на index.php
RewriteRule ^(.*)$ redirect.php/$1 [L]


redirect.php
<?php
$campagain_url = $_GET['']; // КАК ТУТ ОПРЕДЕЛИТЬ КАКОЙ УРЛ ПРИШЕЛ?

?>


Т.е выглядит все так пользователь заходит по адресу site.ru/land1 и получает контент, все ЧПУ ссылки хранятся в БД и на основе их выводится контент
  • Вопрос задан
  • 299 просмотров
Решения вопроса 2
DevMan
@DevMan
$_SERVER['REQUEST_URI']
Ответ написан
kores
@kores
Помог ответ? Отметь решением!
$url = $_SERVER['REQUEST_URI']; // Получаем ссылку
$check_get = parse_url($url); // Разбираем и получаем компоненты
echo $check_get['query'].'<br>'; // Выводим все, что есть в _GET запросе

$query_temp = explode('&', $check_get); // Разбиваем _GET запрос в массив
$query = array(); // Задаем пустой массив для будущего вывода

// Перебираем массив с GET запросом
foreach($query_temp as $key=>$value) {
      $temp = explode('=', $value); // Разбиваем каждый запрос через знак =
      $query[$temp['0']] = $temp['1'];
}

/*
таким образом при запросе ?page=about&action=edit
получим массив вида:
Array
(
    [page] => about
    [action] => edit
)

А дальше с ним делать, что угодно. Получать значения, редиректить на соответствующие страницы и так далее..
*/
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы