У меня есть сервер Apache, хостинг нескольких сайтов для моей компании. Я планирую использовать htaccess и переписать URL-адреса из корневого каталога в подпапку.Как написать htaccess переписать для подкаталогов рекурсивно?
Вот моя реальная структура папок:
- /WWW (корень)
- /WWW/beamstyle (beamstyle.com.hk, CodeIgniter рамки)
- /WWW/beamcard (beamcard.com .hk, статические файлы)
- /WWW/beamcard/приложение (beamcard.com.hk/app, CodeIgniter рамки)
================= ==================================== ===============
beamstyle сайт работает, используя следующий код:
ReWriteCond %{HTTP_HOST} ^(www.)?beamstyle.com.hk [NC]
RewriteCond %{REQUEST_URI} !^/beamstyle/.*$
RewriteRule ^(.*)$ /beamstyle/$1 [L]
Вышеуказанные работы, потому что моя основа (CodeIgniter) находится внутри/WWW/beamstyle.
Поэтому я могу получить доступ к http://beamstyle.com.hk, и он будет перенаправлен без каких-либо проблем.
==================================================================================================================================== =======================
Однако, вот в чем проблема. Когда я делаю веб-сайт с билд-картой, он не работает, потому что на самом деле каталог «/ www/beamcard /» фактически хранит ТОЛЬКО статические .html-файлы. Моя структура CodeIgniter находится внутри приложения /.
Когда я использую тот же код:
ReWriteCond %{HTTP_HOST} ^(www.)?beamcard.com.hk [NC]
RewriteCond %{REQUEST_URI} !^/beamcard/.*$
RewriteRule ^(.*)$ /beamcard/$1 [L]
Вот результаты, используя приведенный выше код:
(а) http://beamcard.com.hk/ < - ОК не проблема, потому что это непосредственная папка после перезаписи (и содержат только статические файлы)
(b) http://beamcard.com.hk/app < - НЕ ОК, поскольку после перезаписи выполняется одна из директорий за пределами папки.
- Если я печатаю это, адресная строка (вверху) получает не-замаскированный и перенаправляется http://beamcard.com.hk/beamcard/app/ (Я подтвердил, что это перенаправление не выполняется CodeIgniter файлов, так как тот же результат происходит, когда я применяю на пустой каталог)
======================================================================================================================================================================================== ====================================
Я пробовал все, что мог, и сделал так много поисков Google, но не смог обработать htaccess snippet, который работает в подкаталогах за пределами каталога после перезаписи. Он теряет функциональность «маскировки», когда я продвигаюсь дальше в подкаталогах.
Любая помощь на это очень ценится!
Приветствия, Томас
====================================== ==============================
Update 1
для того, чтобы описать мою ситуацию лучше, Я собрал несколько вариантов использования.
[Сценарии Case]
** Для упрощения, давайте предположим, что каталог "приложение" пусто **
(1) Если я печатаю в http://beamcard.com.hk, страница «/ WWW/beamcard/index.html "внутри сервера должен быть загружен. После завершения загрузки страницы в строке местоположения должна быть написана «http://beamcard.com.hk/».
(2) Если я набираю http://beamcard.com.hk/contact_us.html, страница «/www/beamcard/contact_us.html» внутри сервера должна быть загружена. После завершения загрузки страницы в строке местоположения должна быть написана «http://beamcard.com.hk/contact_us.html».
(3) Если я набираю http://beamcard.com.hk/app, необходимо загрузить «пустой список файлов». После завершения загрузки страницы в строке местоположения должна быть написана «http://beamcard.com.hk/app/».
(4) Если я набираю http://beamcard.com.hk/app/, необходимо загрузить «пустую листинг файла». После завершения загрузки страницы в строке местоположения должна быть написана «http://beamcard.com.hk/app/».
================================================================================================================================== ==========================
В настоящее время (1) и (2) работает.
Однако для (3) и (4) после завершения загрузки страницы панель местоположения была перенаправлена на «http://beamcard.com.hk/beamcard/app/», которая «показывает» часть «/ beamcard /», которая идеально должна быть скрыта от посетитель сайта.
Кто-нибудь есть какие-нибудь идеи по этому поводу? Я застрял уже 2 дня. Надеюсь, кто-то может мне помочь здесь ... –