mod rewrite

  • Автор темы Автор темы DIONIS
  • Дата начала Дата начала

DIONIS

Новичок
mod rewrite

Заюзав поиск увидел что эта тема поднималась не раз, также лазил по ссылкам данным в ранее опубликованных постах но ответа не нашел.

у меня есть отрывок кода:

RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^.htaccess$ - [F]
RewriteRule ^(.*)page/(/*)$ $1page.php?$2

но преобразование почемуто не работает.
в чем моя ошибка, может быть я чего-то не дописал? или не доделал...
В мануале по модулю прочитал что в дополнения к написанным мною правилам нужно ещё на сайте все ссылки вида http://www.domain.com/page.php?32 изменить на ссылки которые должны получится после преобразования, изменил на сайте одну из ссылок, на ссылку вида http://www.domain.com/page/32 но сайт выдал ошибку и не стал переходить по ссылке.
 
RewriteRule ^(.*)page/(/*)$ $1page.php?$2

->

RewriteRule ^(.*)page/(.*)$ $1page.php?$2
 
о точно, косячек, но всеравно не работает( не преобразуются ссылки и на изменные ссылки не заходит.
 
не преобразуются ссылки
значит проблема в чём-то другом

1. .htaccess вообще подхатывается?
2. попробуй добавь
Options +FollowSymlinks -Indexes -Includes -MultiViews
в начало .htaccess
 
DIONIS
А ссылки за тебя никто менять не будет :) Ручками, все ручками...
 
не ну я же писал что ссылки меняю в том числе... но они всеравно не работают... .htaccess отрабатывается, я спецом ещё у хостера узнавал.

ВО шик все заработало спасибо zerkms, а что эта строка дала. и почему о ней не говорилось в мануале по мод реврайту...
 
DIONIS
всему было виной... :-) остальное так, для антуража...

A MultiViews search tries to determine the closest match for the missing document
using the information it knows from the client, and returns the match if possible.
When you enable the MultiViews option in the Options directive, the server is
able to perform the MultiViews search when a requested document is not found.
другими словами, пока ты не выключил эту директиву, на запрос site/page запрашивался page.php и без mod_rewrite
 
Да, точно, остается только еще добавить, что эта директива специфическая для mod_negotiation.
 
тему решил новую не открывать, похожая проблема:

задача такая:
1.www.lll.ru/avto.html -> www.lll.ru/index.php?part=avto
2.www.lll.ru/help/groups.html -> www.lll.ru/index.php?part=help&subpart=groups
и так далее

реализовал таким образом:
RewriteRule ^([^/]+)/([^/]+).html$ /index.php?part=$1&subpart=$2 [L]
RewriteRule ^([^/]+).html$ /index.php?part=$1 [L]

Проблема в следующем - первый вариант, когда после имени сайта идет имя файла - работает, а второй вариант - ни в какую...
 
Сверху