Kavredo из форума www.parser.ru:
/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 в моем случае.
Комментариев: 1