parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Отвечаю

R. Averkov 16.03.2005 18:00 / 16.03.2005 18:10

/news/12.html --> /news.html?id=12
RewriteRule	^news/([0-9]+)\.html$	news.html?id=$1 [QSA]
/news/12/ --> /news.html?id=12
RewriteRule	^news/([0-9]+)/$	news.html?id=$1 [QSA]
Домашнее задание
(чтобы хоть как-то компенсировать вред моего прямоответа):

Теория
1. Что делает флаг QSA?
2. Всегда ли нужно прописывать RewriteBase?

Практика
1. Сравните мои варианты и ваши. Проанализируйте их, используя документацию по mod_rewrite.
2. Подумайте, как обработать отсутствие закрывающего слеша в последнем варианте и привести к виду со слешом.
3. Приведите /news/category_name/31122005.html к /news.html?cat=category_name&y=2005&m=12&d=31. Где category_name может принимать значения длиной не более 7 символов, включая цифры и латиницу разных регистров. Причем, первый символ в названии категории - буква.

P. S. Имхо, лучше использовать конкретное имя параметра GET, вместо nameless. Удобочитаемость кода возрастает, так как уже частично будет понятно, что за информация придет - id в моем случае.