Настройка
Моя настройка состоит в том, чтобы разделять ресурсы для двух или более сайтов, которые имеют схожую структуру, хотя различное содержание. В примере ...
http: // localhost / site1 /
http: // localhost / site2 /
Существует два типа перезаписи содержимого CMS (в значительной степени просто содержимого, которое выводится эхом на страница) и специальные модули (например, программный модуль блога), где у меня есть программное обеспечение, которое позволяет более конкретно обрабатывать контент из базы данных.
Итак, первое правило перезаписи для блога гарантирует, что модуль блога обрабатывает запросы блога ....
http: // localhost / site1 / blog / *
http: // localhost / site2 / blog /*
...using программного модуля блог, расположенные в ...
HTTP: // локального / блог /
Система CMS правило перезаписи предназначено для обработки неспецифических запросов модуля ...
http: // localhost / site1 / *
http: // localhost / site2 / my_page.html *
... с использованием программы перезаписи CMS, расположенной по адресу ...
http: // localhost / rewrite.php
Проблема
Переписывания модуля блога и модуля CMS конфликтуют. Я попытался сделать исключение, используя следующее правило. Вот мой код ...
RewriteEngine on
RewriteCond %{REQUEST_URI} !\.js$
RewriteRule .*/blog(.+) blog$1 [QSA]
RewriteRule !.*/(admin|blog|forums)(.+)$ rewrite.php
Последнее правило не работает. С помощью этого кода, если я получу доступ к ..
http: // localhost / site1 / blog / *
http: // localhost / site2 / blog / *
...URL любого блога (или администратора, или форумов) любого сайта все еще переписывается для работы с localhost / rewrite.php.
Итак, как мне настроить последнее правило, чтобы оно соответствовало следующим условиям, пожалуйста ...
1.) Первый каталог (site1 или site2 в localhost / site1 / blog) остается динамическим, поэтому я могу добавить третий сайт, если Я хочу, чтобы код по какой-либо причине не корректировался.
2.) Индекс блога (или администратора, или форумов) (например, blog /, forum /, admin /) обрабатывается их собственными модулями, а также всем, что находится внутри этих каталогов (например, admin / 1, admin / test .html) независимо от кода HTTP, 200, 404 и т. д.
3.) Любой URL-адрес, не входящий в список исключений последнего правила, обрабатывается rewrite.php (независимо от кода HTTP, 200, 404 и т. д.).
4.) localhost / site1 / blog / не обрабатывается rewrite.php, а localhost / site1 / random_path не обрабатывается перезаписью модуля блога.
Я буду рад быстро ответить с любыми дальнейшими разъяснениями.