IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Обсуждение программ (http://www.imho.ws/forumdisplay.php?f=3)
-   -   Apache2: mod_rewrite: непонятки (http://www.imho.ws/showthread.php?t=51064)

Ghost 11.02.2004 16:08

Apache2: mod_rewrite: непонятки
 
Такая проблема: стоял Apache 1.3.24 и в его конфиге была такая строка
Код:

RewriteRule ^([^~][0-9A-z/]+)\.html$        http://www.bla-bla-bla.ru/sh.pl?url=$1
которая переадресовывала запрос запрос к html-документу скрипту. Поставил Apache2, вставил эту строку - получил 400-ую ошибку. Посмотрел в лог - индеец преобразует все правильно - в /sh.pl с параметрами, а потом выдает ошибку. Запустил просто сам скрипт - работает, а при переадресации на него - нет. Что за фигня?:confused:

Ghost 11.02.2004 17:11

Вот кусок лога:
Код:

(3) applying pattern '^([^~][0-9A-z/]+)\.html$' to uri '/index.html'
(2) rewrite /index.html -> http://www.bla-bla-bla.ru/sh.pl?url=/index
(3) split uri=http://www.bla-bla-bla.ru/sh.pl?url=/index -> uri=http://www.bla-bla-bla.ru/sh.pl, args=url=/index
(3) reduce http://www.bla-bla-bla.ru/sh.pl -> /sh.pl
(2) local path result: /sh.pl

А дальше идет сообщение - 400: Bad request!

Добавлено через 57 минут:
Упс. С этим я разобрался. Дело было в строке:
Код:

ServerName www.bla-bla-bla.ru:80
В ней просто не надо было указывать порт. Но тут же появился еще вопрос.

Раньше, при запросе к странице www/bla-bla-bla.html у меня в окне браузера отображался результат выполнения скрипта www/sh.pl?url=bla-bla-bla, но в адресной строке браузера адрес не менялся, т.е. оставался www/bla-bla-bla.html; теперь же в адесной строке отображается адрес скрипта, на который происходит перенправление, т.е. www/sh.pl?url=/bla-bla-bla. Почему?

Причем, я взял старый конфиг (со старой версии - рабочий), только выкинул некоторые команды, которые новая версия индейца выполнять отказывалась - Port, AccessConfig, ResourceConfig и ServerType.


Часовой пояс GMT +4, время: 04:21.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.