Не работает перезапись mod-rewrite, если нет доступа в исходную директорию

Vovic

Новичок
Не работает перезапись mod-rewrite, если нет доступа в исходную директорию

Пишу под виндой. Apache/2.0.55 (Win32).
DocumentRoot: "E:\WWW"

Структура папок:
E:\WWW
E:\WWW\phone
E:\WWW\public

Файлы:
в папке: E:\WWW\ - .htaccess и index.html
в папке: E:\WWW\pnone\ - .htaccess и index.php
в папке: E:\WWW\public\ - index.html и phone.html

Файл E:\WWW\.htaccess содержит:

RewriteEngine on
RewriteBase /

#Маршрутизация для внутренних сетй

RewriteCond %{REMOTE_ADDR} ^10\.11\.[0-9]{1,3}\.[0-9]{1,3}$ [NC]
RewriteRule ^()$ index.html [NC]

#Маршрутизация для внешних сетей

RewriteCond %{REMOTE_ADDR} !(10\.11\.[0-9]{1,3}\.[0-9]{1,3}) [NC]
RewriteRule ^phone/.*$ public/phone.html [R,L,NC]

RewriteCond %{REMOTE_ADDR} !(10\.11\.[0-9]{1,3}\.[0-9]{1,3}) [NC]
RewriteRule ^index\.html(.*)$ public/index.html$1 [NC]

RewriteCond %{REMOTE_ADDR} !(10\.11\.[0-9]{1,3}\.[0-9]{1,3}) [NC]
RewriteRule ^()$ public/index.html [NC]


Файл E:\WWW\phone\.htaccess содержит:
RewriteEngine Off

Order deny,allow
Deny from all
Allow from 10.11.16.
Allow from 10.11.24.
Allow from 127.0.0.


Что пытаемся сделать:
Пытаемся показывать разное содержимое пользователям из разных сетей.
1.Пользователи из внутренней сети по адресу http://mysite/ видят страницу
E:\WWW\index.html, а из внешней сети по тому же адресу видят страницу E:\WWW\public\index.html

2.Пользователи из внутренней сети по адресу http://mysite/phone/ видят страницу
E:\WWW\phone\index.php, а из внешней сети по тому же адресу видят страницу E:\WWW\public\phone.html


Первый пункт нормально работает. Со вторым пунктом есть проблема:

Пользователи из внутренней сети работают нормально, им, как и полагается,
показывается страница E:\WWW\phone\index.php, а вот пользователи внутренней
сети видят ошибку: Forbidden. You don't have permission to access /phone/ on this server.

Покопавшись пришёл к такому выводу: пользователям из внутренней сети
запрещён доступ к "http:/mysite/phone/" в файле "E:\WWW\phone\.htaccess".
По этой причине он не осуществляет перенаправление из этой папки.
То есть получается, что сначала апач проверит доступ к запрашиваемой директории,
и только ПОТОМ СЛУЧАЕ НАЛИЧИЯ ДОСТУПА к ней осуществит перезапись URL.

Требуется каким-то образом изменить его поведение, чтобы сразу перенаправлялся
в E:\WWW\public\phone.html, не проверяя права на доступ к Е:\WWW\phone\

Кто-нибудь решал такое?
 

Vovic

Новичок
[NC] в данном случае роли не играет.
В RewriteLog (Level - 9) в данной ситуации ничего не пишет, что лишний раз доказывает, что доступ проверяет до перезаписи URL. В остальных случаях в RewriteLog записи добавляются.
 
Сверху