#mod-rewrite
#переписать мод
Вопрос:
Я написал некоторый php-код, который генерирует URL-адреса таких страниц, как article.php?id=1
и т.д. Очевидно, что id — это идентификатор статьи, взятой из базы данных. В той же таблице базы данных у меня есть id
, title
и category
столбцы. такие как:
id title category
1 hello world general
Мой вопрос в том, как я могу переписать URL, используя заголовок и категорию статьи вместо идентификатора. Например, я хочу переписать URL
example.com/article.php?id=1
Для:
example.com/general/hello-world
Спасибо.
Комментарии:
1. Вы имели в виду, что хотели переписать другим способом?
Ответ №1:
Самый простой способ сделать это — создать php-файл с именем general.php и используйте переменную $_SERVER[‘PATH_INFO’].
Ответ №2:
Я полагаю, вы собираетесь использовать входящее правило перезаписи.
Одним из способов было бы извлечь категорию и заголовок из URL и использовать другой PHP-файл для поиска статьи
RewriteRule .*?.php - [PT]
RewriteRule (.*?)/(.*) articleByCategoryAndTitle.php?category=$1amp;title=$2
Второй подход мог бы заключаться в использовании всех трех частей, как в
example.com/category/title-42
а затем используйте RewriteRule, чтобы открыть страницу статьи по идентификатору
RewriteRule (?:.*)-(d )$ article.php?id=$1