mod rewrite (двойной слэш)

[SDem]

Новичок
mod rewrite (двойной слэш)

Добрый день всем.
Был у меня заботан чпу, но не с применением mod rewrite а на банальном Error docement.
Соответственно это не позволяло использовать пост в формах.Решил попробовать mod rewrite. Откопал недавний пост , обнаружил ам конструкцию вида:
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteRule ^$ index.php [L,QSA]
RewriteRule ^([^.]+[^/])$ $1/ [R=301,L,QSA]
RewriteRule ^([^.]+)/$ index.php [L,QSA]
Вобщем попробовал и всё заработало, только вот если набирать в строке запроса адрес вида
http://site/bla bla то оне перестраивается на http://site//bla bla/, а надо http://site/bla bla/
Потратил всё утро на разбирательства в этом вопросе, но что то ниасилил.. Может кто нить подсказать как мне избавиться от двойных слешей??? Они мне не упёрлись тут :)

-~{}~ 31.07.06 09:17:

Народ ну неужели никто не знает?
Помогите плиз кто нить разобраться.Я эти регулярки сам никак разрулить не могу,хотя перечитал уже всё что можно.
 

zerkms

TDD infected
Команда форума
Откопал недавний пост , обнаружил ам конструкцию вида:
а версия с "попробовать написать самому с нуля" против "исправить хз что хз чьё" тебя не устроит?
 

[SDem]

Новичок
Автор оригинала: zerkms
а версия с "попробовать написать самому с нуля" против "исправить хз что хз чьё" тебя не устроит?
Слушай, а ты думаешь я не пробовал?
Я уже обчитался и обпробовался.Всё что получается-100% загрузка проца...
А чужое взял потому как надо было с чего то начать. Я с этим первый раз связался. Если знаешь как это побороть то буду благодарен если ткнёшь носом.
 

denver

?>Скриптер
Я знаю как побороть и готов тыкать кого-надо носом :)
А побороть можно так: очисти всё и добавляй по строчке до тех пор пока проц не загружается на 100%. Как только загрузится ты будешь знать в какой именно строке проблема. Затем устраняешь проблему и але-оп. Всё работает.
 

[SDem]

Новичок
так я знаю в какой строке проблема
RewriteRule ^([^.]+[^/])$ $1/ [R=301,L,QSA]
Вот перегнал всё в пхп
$url='http://site/program';
preg_match("/([^\.]+[^\/])/",$url,$a);
в итоге $a содержит
Array
(
[0] => http://site/program
[1] => http://site/program
)
То есть $1 содержит "http://site/program" к которой справа добавляется "/" , но я хоть убейте не пойму почему у меня в результате получается "http://site//program/"
 

denver

?>Скриптер
Я проверил. У меня всё ок. Причём работает и так:
PHP:
RewriteEngine on
Options +FollowSymlinks
RewriteBase /

RewriteRule ^([^.]+[^/])$ $1/ [R=301,L,QSA] 
RewriteRule ^([^.]+)/$ index.php [L,QSA]
-~{}~ 01.08.06 23:36:

http://localhost/program ==> http://localhost/program/
 

[SDem]

Новичок
Млин у меня не работает.
Может это от каких нить настроек в httpd.conf ещё зависит?
На мастерхосте тоже так работает всё.
 
Сверху