У меня есть веб-сайт с установленным Drupal в подпапке / drupal .Этот экземпляр должен обрабатывать все URL-адреса сайта, что он успешно выполняет с правилами, приведенными ниже:
RewriteEngine on
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} !^131.216.164.200:10011$ [NC]
RewriteRule .* http://131.216.164.200:10011/ [L,R=301]
RewriteRule ^$ drupal/index.php [L]
RewriteCond %{DOCUMENT_ROOT}/drupal%{REQUEST_URI} -f
RewriteRule .* drupal/$0 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* drupal/index.php?q=$0 [QSA]
Однако теперь мне нужно добавить еще одну папку Drupal, / otherdrupal , котораябудет обрабатывать только URL-адреса, начинающиеся с / что-то1 или / что-то2 .Я попытался изменить правила так:
RewriteCond %{HTTP_HOST} !^131.216.164.200:10011$ [NC]
RewriteRule .* http://131.216.164.200:10011/ [L,R=301]
RewriteRule ^(something1|something2)$ otherdrupal/index.php [L]
RewriteRule ^$ drupal/index.php [L]
RewriteCond %{DOCUMENT_ROOT}/drupal%{REQUEST_URI} -f
RewriteRule .* drupal/$0 [L]
RewriteCond %{DOCUMENT_ROOT}/otherdrupal%{REQUEST_URI} -f
RewriteRule .* otherdrupal/$0 [L]
Но mod_rewrite не сделает это так просто ...
(PS Я знаю о мульти-сайте Drupalособенность, но предположим, что вторым экземпляром Drupal может быть любое веб-приложение, которое обрабатывает URL-адреса так же, как Drupal, например, с параметром q
URL.)