offtopic: URL Rewrite
document 06.04.2003 07:18
OFFTOPIC: URL Rewrite
Господа, простите за оффтопик, но что-то я не нашел толкового форума по Апачу.
Возникла такая проблема с URL Rewrite.
Есть multilangual сайт. Каждый шаблон (файл) должен обслуживать все языки (т.е. не хотим физически разделять сайт).
Соответственно нужно сообщить скрипту на каком языке отображать сраницу. Передавать это дело через GET не хотим, а хотим так как будто сайт разделен физически.
Для этого и используем Rewrite.
Т.е. с наружи идет запрос /rus/somedir/somefile.html или /eng/somedir/somefile.html, а внутри -> /somedir/somefile.html
Под виндузой (2000/XP) все работает правильно, а под RedHAT - нет. (везде использовался Apache 1.3.27)
В httpd.conf в секции VH написано:
RewriteRule ^/(rus|eng)$ /$1/
RewriteRule ^/(rus|eng)/(.*) /$2
Делаем http запрос: GET /rus/
Вот, что мы видим в логах реврайта:
Под виндузой:
(2) init rewrite engine with requested uri /rus/
(3) applying pattern '^/(rus|eng)$' to uri '/rus/'
(3) applying pattern '^/(rus|eng)/(.*)' to uri '/rus/'
(2) rewrite /rus/ -> /
(2) local path result: /
(2) prefixed with document_root to /path/to/host/docroot/
(1) go-ahead with /path/to/host/docroot/www/ [OK]
Под юниксом:
(2) init rewrite engine with requested uri /rus/
(3) applying pattern '^/(rus|eng)$' to uri '/rus/'
(3) applying pattern '^/(rus|eng)/(.*)' to uri '/rus/'
(2) rewrite /rus/ -> /
(2) local path result: /
(1) go-ahead with / [OK]
Как видите под юниксом не происходит "prefixed with document_root to /path/to/host/docroot/" из за чего получаем Not Found.
При чем если запросить глубже (/rus/index.html или /rus/somedir/ и т.д.) то все работает.
Может кто знает, в чем проблема?
- offtopic: URL Rewrite, document 06.04.2003 07:18
- Ответ, CODer 06.04.2003 09:14
- Ответ, document 08.04.2003 05:13