@IgorRastarov

Как получить адрес страницы с помощью PHP?

Добрый день!

Вопрос в следующем. Есть сайт www.mysite.ru. На нем есть страница about. www.mysite.ru/about. На странице about я добавляю различные статьи:
www.mysite.ru/about/1
www.mysite.ru/about/2
Есть код, который берет заголовок контента страницы из базы данных и подставляет его в тэг title, чтобы seo могли смотреть там свои сеошные штуки.
<?php
switch($_SERVER['REQUEST_URI'])
{

#about
case '/about/':
echo''.$db_title.'';
echo'';
echo'';
break;
}
?>

Данный код срабатывает только на путь www.mysite.ru/about/, как сделать чтобы он срабатывал и на www.mysite.ru/about/1. То есть как вычленить вот этот самый 1 в about.
Я хочу, чтобы в последствие, когда будут создаваться статьи 3,4,5 он автоматом подставлял название этой статьи в тэг title.
Спасибо!
  • Вопрос задан
  • 447 просмотров
Пригласить эксперта
Ответы на вопрос 2
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
регулярные выражения или банальный explode по '/'
Ответ написан
@Quieteroks
php программист
Вообще подобные вещи парсятся в зависимости от вашей архитектуры. Но если вас интересует именно первый элемент, который похоже ведет на модуль:
switch(array_shift(explode(trim($_SERVER['REQUEST_URI'], '/')))) {
    case 'about': break;
}

А еще лучше не делать свитч, а сразу искать по "папке":
$module = array_shift(explode(trim($_SERVER['REQUEST_URI'], '/')));
// TODO: Проверка на попытку взлома относительными путями и прочее
if (is_file('path/to/modules/' . $module . '/controller.php')) {
    include ...;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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