mod_rewrite - перечитал форум, доки, но не работает-((

DanGien

Новичок
mod_rewrite - перечитал форум, доки, но не работает-((

Объясните, плиз, что я не так пишу?

Дано:

сервер - localhost (Денвер-2)

Есть страница вида

http://land/s/menu.php?mid=6

хочу сделать вида

http://land/s/menu_6.php

пишу в .htaccess

RewriteEngine on
Options +FollowSymlinks

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)menu_(.*)$ $1menu.php?mid=$2 [L,QSA]

выдает

Not Found
The requested URL /s/menu_6.php was not found on this server.

Я так понимаю, что в регулярном выражении я задаю - взять адрес, где в начале что угодно-1, затем есть menu_, затем что угодно-2.

Поменять на

что угодно-1menu.php?mid=что угодно-2

делал и так тоже

RewriteRule ^(.*)/menu_(.*)\.php$ $1/menu.php?mid=$2 [L,QSA]

все равно не работает. Вопрос - почему???

-~{}~ 12.02.05 00:37:

Просьба не отсылать опять к мануалам, а просто написать работающий пример для моего случая, а я уж на нем разберусь (надеюсь:)
 

ДЕД Матвей

Guest
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*)$/?%{QUERY_STRING}
Кажется так.
Пример рабочий, отсылает тебя на QUERY STRING, если адрес кончается на '/' только вот я в регах не очень..., поэтому подправь реги сам
 

DanGien

Новичок
ДЕД Матвей, у меня много подобных страниц, QUERY_STRING не подходит.

Orlis, а куда такой .htaccess нужно поместить, в корневуюдиректорию сайта /land/ или в /land/s/ ?
Что-то пока не работает...

-~{}~ 12.02.05 01:08:

О! поместил в папку /land/s/

Написал

RewriteRule ^(.*)menu_(.*)$ http://land/s/menu.php?mid=$2 [L,QSA]

заработало!

-~{}~ 12.02.05 01:22:

Только почему-то перекидывает в строке браузера с
http://land/s/menu_3.php
на http://land/s/menu.php?mid=3.php

Я же указываю [L,QSA], что неправильно?

-~{}~ 12.02.05 01:33:

Нужно, чтобы все останавливалось на http://land/s/menu_3.php в браузере, пока не получается...
 

Orlis

Guest
mod_rewrite довольно нетривиально работает с каталогами...
ты его запутал относительными путями (вопрос куда класть .htaccess говорит о том, что ты пока ходить не научился, а пытаешься летать)

я бы посоветовал использовать
http://land/menu_3.php в качестве адреса

RewriteRule ^menu_(.*)\.php$ /s/menu.php?mid=$1 [L,QSA]

-~{}~ 12.02.05 10:26:

или положить .htaccess в /s/ и написать

RewriteRule ^menu_(.*)\.php$ menu.php?mid=$1 [L,QSA]
 
Сверху