1

Тема: mod_rewrite и .htaccess

У меня поблема с синтаксисом для mod_rewrite:

у меня есть запрос вида
_http://site.ru/news/?cont=long&id=79&year=2006&today=21&month=03
а хотелось бы
_http://site.ru/news/2006/03/21/79.html

или вот такой запрос
_http://site.ru/news/index.html?cont=long&id=1&year=2006&today=20&month=03
а хотелось бы
_http://site.ru/news/2006/03/20/01.html

Подскажите, пожалуйста, что должно быть в файле .htaccess и какое правило нужно составить?

Жизнь прекрасна... пока Яндекс не глючит! wink

2

Re: mod_rewrite и .htaccess

Stinger
Если .htaccess будешь кидать в папку 'news' тогда так:
1) Options +FollowSymlinks
RewriteEngine on
RewriteRule ^/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/(.*)\.html$ /news/?year=$1&month=$2&today=$3&id=$4&cont=long

2) Options +FollowSymlinks
RewriteEngine on
RewriteRule ^/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([0-9]{*})\.html$ /news/index.html?year=$1&month=$2&today=$3&id=$4&cont=long

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)

3

Re: mod_rewrite и .htaccess

Я сделал как написано, но всё равно не работает.

Попробовал добавить

RewriteCond %{REQUEST_FILENAME} -f

но это не помогло sad

Жизнь прекрасна... пока Яндекс не глючит! wink

4

Re: mod_rewrite и .htaccess

Stinger
mod_rewrite - не изменяет вид ссылок - он заставляет сервер интерпретировать соответствующие ссылки в соответствии с заданными правилами. Другими словами, если ты хочешь видеть ссылку в виде _http://site.ru/news/2006/03/21/79.html, то ты так и должен выводить её в браузер, а вот при переходе по ней, сервер будет обрабатывать её с помощью mod_rewrite как  _http://site.ru/news/?cont=long&id=79&year=2006&today=21&month=03

Нет неразрешимых проблем, есть неприятные решения. (Э. Борн)