@Rocker_dead

Как сделать ЧПУ на PHP из полей БД?

Что-то нигде толкового ответа не нашел. Сам в php не очень, лишь базовые знания.
Сейчас на сайте настроен ручной редирект типа

if($_SERVER['REQUEST_URI'] == "/fabrik.php?fdoc=18")
{
header("HTTP/1.1 301 Moved Permanently");
Header("Location: http://".$_SERVER['HTTP_HOST']."/bordignon-camillo");
exit;
}

И так для каждой страницы. А я хочу, чтобы все было автоматически. В БД я создал столбец с соответствием каждому ID своего ЧПУ (столбец "seo" например), и надо, чтоб редирект был с адреса "/fabrik.php?fdoc=$id" на "/$seo" грубо говоря.
  • Вопрос задан
  • 2478 просмотров
Пригласить эксперта
Ответы на вопрос 2
@zwebz
Как вариант можно из переменной $_GET взять параметр fdoc, и сделать выборку значения SEO из БД по столбцу ID. Потом это значение подставить в header()
$sql = "SELECT seo FROM tbl WHERE ID = $_GET['fdoc'] ";
Header("Location: http://".$_SERVER['HTTP_HOST']."/".$seo);
Ответ написан
@Rocker_dead Автор вопроса
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^fabrik.php?fdoc=176$ /bianchini-capponi [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^bianchini-capponi$ /fabrik.php?fdoc=176 [L]
##################
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^fabrik.php?fdoc=17$ /bonaldo [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^bonaldo$ /fabrik.php?fdoc=17 [L]
Ответ написан
Ваш ответ на вопрос

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

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