mod_rewrite для дружественных URL - PullRequest
2 голосов
/ 03 февраля 2012

Я пытаюсь внедрить постоянные ссылки в мою систему управления контентом и, похоже, застрял в проблеме с mod_rewrite. У меня есть файл PHP (single.php), в котором будет отображаться один пост на основе имени Постоянной ссылки, который передается через него. т.е. post.php?permalink=name-of-post-here.

Вот правила, которые я установил:

RewriteRule ^([0-9]{4})/([a-z]+)?$ $1/ [R]
RewriteRule ^([0-9]{4})/([a-z]+)?$ post.php?permalink=$1

Кроме того, как мне получить date/year (т.е. 2012) и назначить его в качестве параметра для файла PHP. (т. е. post.php?year=2012?permalink=name-of-post-here) и можно ли все это сделать с помощью mod_rewrite?

Большое спасибо.

Хочу изменить

http://www.website.com/post.php?year=2012&permalink=post-name-here

до

http://www.website.com/2012/post-name-here

1 Ответ

3 голосов
/ 03 февраля 2012

Вы должны использовать этот код:

Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteRule ^([0-9]{4})/(.*)$ post.php?year=$1&permalink=$2 [L,R,NC,QSA]

Если вы не хотите внешнего перенаправления (изменить URL-адрес в браузере), снимите флаг R.

...