не работает mod_rewrite помогите.

Valdisss

Guest
не работает mod_rewrite помогите.

Собственно проблема:

в .htaccess следующие строки:

RewriteEngine On
# добавляем
RewriteRule ^([a-z]+)/([0-9]*)/([0-9]*)/([0-9]*)/$ /index.php?show=$1&year=$2&month=$3&day=$4 [R]

в браузере задаём строку:
http://localhost/index.php?show=news&year=2002&month=9&day=7

index.php - ничего не содержит внутри.

Собствено URL остаётся таким как был.

Apache 1.3.34 , mod_rewrite загружен и добавлен.

OS: WindowsXP SP2 integrated

Если кто-то сталкивался с данной проблемой, подскажите чего-нибудь.
 

Valdisss

Guest
Автор оригинала: Solid
В чём проблема?

-~{}~ 22.05.06 15:19:

Пробовал заходить по адресу: http://localhost/news/2002/9/7/ ?
Пробовал ни хрена.

-~{}~ 22.05.06 15:21:

Автор оригинала: Valdisss
Пробовал ни хрена.
Если у меня строка типа: /index.php?action=news и мне нужно изменить её на /index.php/news

Менять эту строку я должен или mod_rewrite автоматически?
 

Valdisss

Guest
Автор оригинала: Solid
Я тебя не понимать.
Суть, может я сам не до конца понял.

Я думаю, что mod_rewrite делает следующее:

Если мы щёлкаем по ссылке типа: /index.php?action=news

В строке браузера у нас отображается: /news

Или же mod_rewrite позволяет нам самим на сайте формировать такие ссылки, то есть мы должны формировать ссылки по типу /news , а вместо ошибки будем получать содержание страницы.

Я нормально объяснил или всё равно не понятно.
 

Solid

Drosera anglica
Остаётся только непонятно, каким образом ты сам смог написать правило для mod_rewrite. В общем идея очень проста:
В случае:
RewriteRule ^([a-z]+)/ /index.php?show=$1 [R]
news/ будет ссылаться на /index.php?action=news, в данном случае модификатор R указывает на то, что redirect будет осуществляться через header в http протоколе, т.е. код 403.
 

Valdisss

Guest
Автор оригинала: Solid
Остаётся только непонятно, каким образом ты сам смог написать правило для mod_rewrite. В общем идея очень проста:
В случае:
RewriteRule ^([a-z]+)/ /index.php?show=$1 [R]
news/ будет ссылаться на /index.php?action=news, в данном случае модификатор R указывает на то, что redirect будет осуществляться через header в http протоколе, т.е. код 403.
Да с правилами-то всё понятно, то есть если я правильно понял на своих страницах я сам должен формировать ссылки по типу /news ? Если да то мне всё понятно, спасибо.
 

Valdisss

Guest
Автор оригинала: Solid
Ссылки где? Какие ссылки? <a href?
Я думал так формирую на сайте ссылку типа:
<a href="/index.php?action=news"> а мод рерайт сам заменяет её в строке браузера на <a href="/news">

Из нашего разговора я понял, что ссылки типа <a href="/news"> должен формировать я, если это так, то мне всё ясно, это так?
 

Valdisss

Guest
Автор оригинала: Solid
Да, так. Проверить сложно?
Нет, спасибо, вот я и проверил, оказалось не заменяет, думал не работает. Всё тема закрыта!
 

Solid

Drosera anglica
Можно и так сделать как ты хочешь...
RewriteRule ^([a-z]+)/ /index.php?show=$1 [PT]
RewriteRule ^index.php?show=([a-z]+) /$1/ [R]
 
Сверху