Xpoint
   [напомнить пароль]

Опять про последний слеш и RewriteRule

Метки: [без меток]
2009-09-18 13:59:52 [обр] Matias[досье]

Уже поднималась эта тема много раз, видел разнообразные её решения, которые к сожалению вообще не подходят для решения моей проблемы. Так получается, что RewriteRule настолько "творческая" вещь, что не всегда в ней работают шаблонные методы.
Вобщем уже длительное время бъюсь - ничего не получается.

Вот мой код:

RewriteEngine on
RewriteBase /
RewriteRule ^(.*)\.htm$ $1.html [R=permanent]
RewriteRule ^main([0-9a-zA-Z_./-]+)$ /mainfolder/sef.php?n=$1

Всё чудесно работает, ошибок нет. если я пишу /folder/folder1/page1/index.htm, то автоматически перенаправляется на /folder/folder1/page1/index.html

Эту тему я понял.
Но вот как сделать завершаюший слеш автоматически! Не пойму как! И чтобы не было такого: /folder/folder1/page1/index.html/

Попробовал много методов. Один из логичных - весьма прост: RewriteRule ^main([0-9a-zA-Z_./-]+)(^/)$ /mainfolder/sef.php?n=$1/
но он не работает!!

Вобщем вот. Посоветуйте пожалуйста!

спустя 18 часов [обр] Евгений Седов aka KPbIC(0/176)[досье]
  1. Как работает (^/)$ ?
  2. RewriteCond вам в помощь.
спустя 47 минут [обр] Matias[досье]
Вобщем-то разобрался, спасибо.
осталась проблема в том, что добавляется слэш в конце index.html/ - как это можно решить?
спустя 1 день 4 часа [обр] Алексей Севрюков(0/1280)[досье]

Matias[досье]

RewriteRule ^main([0-9a-zA-Z_./-]+/?)$ /mainfolder/sef.php?n=$1

Вы наверно имели ввиду то что слеш может быть, а может и не быть. Если да, то в принципе вот Вам и ответ. Конструкция /? как раз и говорит "где есть один слеш либо его нет вообще.

спустя 34 минуты [обр] Евгений Седов aka KPbIC(0/176)[досье]
Matias[досье]
добавляется слэш в конце index.html/ - как это можно решить?
  1. RewriteCond %{REQUEST_URI} !html$
  2. Флаг [L]
Powered by POEM™ Engine Copyright © 2002-2005