Правило перезаписи Apache для перенаправления всех запросов в подкаталог, содержащий другой.htaccess и правила перезаписи

У меня есть публичные и частные проекты на моем веб-сервере. Я помещаю все общедоступное в корень веб-сервера, и у меня есть папка private, доступ к которой я могу получить только из локальной сети (, установленной там с помощью.htaccess ).

Я хочу просто поместить все частные проекты в папку privateи автоматически обрабатывать запросы, но хочу, чтобы URL-адреса выглядели так, как будто они обслуживаются из веб-корня.
Например, если есть private/project1, я хочу использовать URL-адресhttp://example.com/project1для обслуживания этой папки и не хотите менять URL-адрес.

Это простое переписывание:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ private/$1           

работает, но когда у меня есть private/project2с другим.htaccess:

Options +FollowSymLinks

RewriteEngine On
RewriteBase /project2/


       Order Deny,Allow
       Deny From All


# Allow asset folders through
RewriteRule ^(assets/.+) - [L]

# Protect files from being viewed
RewriteRule ^(uploads.+) - [F,L]


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1 [L]


Options -Indexes

то статический контент появится, но ссылки битые. Что я должен изменить, чтобы работать?

Также, если у меня есть private/project3и я перехожу к http://example.com/project3/, проблем нет, но когда я перехожу кhttp://example.com/project3(без завершающего / )URL-адрес будет отображаться в браузере как http://example.com/private/project3/. Почему ? Как я могу этого избежать?

6
задан kissgyorgy 2 August 2012 в 19:01
поделиться