Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > Apache подменяет "//" на один "/", в URL-е


Автор: izvrat 11.7.2006, 14:56
Ситуация такая:

Запрашиваю страничку я вбазе с адресом в котором встречаются подряд идущие слеши

http://mysite/dir//index.html

В апаче надо релизаовать редирект через mod_rewrite, где опознать именно урл с двумя слешами

RewriteRule ^(.*)\/(.*)\/index.html$ index.php?a=$1&b=$2

т.е. http://mysite/dir//index.html - подпдает под шаблон, а http://mysite/dir/index.html (с одним слешам) должен попадать под другой.

Но вот беда, в шаблон почемуто урл попадает уже с заменойповатарающихся слешей наодин слеш...

например 

RewriteRule ^((.*)\/(.*)\/index.html)$   dump.php?test_url=$1

Мне выведет: 'test_url' = 'http://mysite/dir/index.html'

а не:               'test_url' = 'http://mysite/dir//index.html' 

Автор: Ignat 11.7.2006, 17:09
Скорее всего это делает браузер.
Более точно можно узнать, запросив страничку из telnet'а. 

Автор: izvrat 11.7.2006, 17:23
Ignat, 
только было обрадывался... хотелось сказть вот ипрадва,... а нет, впомнил, что если набрать дарес несущесвтующей и не (хотяб виртуально) странички, вот что выдает мой браузер:

Код

Not Found

The requested URL /keylogger/adiscussion//display//1150307720.html was not found on this server.


это точно не браузер, это ведь сервер генерит.... smile 

Автор: Ignat 11.7.2006, 17:27
Цитата(izvrat @  11.7.2006,  18:23 Найти цитируемый пост)
это точно не браузер, это ведь сервер генерит....

Не убедил smile

Сервер отвечает 404, а если для этого случая есть заготовленый скрипт, то отсылается браузеру, в противном случае - браузер сам генерирует сообщение об ошибке.


Сниффером в крайнем случае посмотри. 

Автор: izvrat 11.7.2006, 18:03
Да нет, это явно сервер, полноесообщение об ошибке:

Код

Not Found

The requested URL /keylogger/discussion//ddisplay//1150307720.html was not found on this server.
--------------------------------------------------------------------------------
Apache/2.0.58 (Win32) PHP/4.4.2 Server at iz Port 80


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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)