URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 5294
[ Назад ]

Исходное сообщение
"mod_rewrite add path-infoprefix"

Отправлено NetFantom , 08-Окт-07 19:41 
Добрый день, коллеги.
Пишу код для mod_rewrite, который должен выполнять последовательно 2 задачи - учет языковой версии сайта, и перенаправление несуществующих путей (файлов) на определенный скрипт.
при запросе строки вида http://mysite.com/en/xyz должена быть отсечена часть /en, далее если файл xyz существует, то вызывается он, если не - то должен быть вызван файл test.php.
Вот код для mod_rewrite:

RewriteEngine on
RewriteBase /
RewriteRule ^en/(.*)$ /$1
RewriteCond %{DOCUMENT_ROOT}/$1 !-f
RewriteRule ^(.*)$ /test.php

Однако, не происходит ожидаемой реакции! При вызове вида mysite.com/file.php, при условии что file.php существует, по какой-то причине вызывается test.php
Разбор лога mod_rewrite обналужил такую странную строчку:


127.0.0.1 - - [08/Oct/2007:19:32:47 +0400] [www.test.dev/sid#bbd770][rid#249a280/initial] (3) [per-dir w:/home/test.dev/www/] add path-info postfix: /file.php -> /file.php/file.php

что это за нах?!


Содержание

Сообщения в этом обсуждении
"mod_rewrite add path-infoprefix"
Отправлено NetFantom , 08-Окт-07 20:41 
проблема решилась так

RewriteRule ^/?en/(.*)$ /$1 [L]

я асболютно перестал понимать механизм работы mod_rewrite