Использование mod_rewrite с несколькими установками Drupal - PullRequest
0 голосов
/ 17 мая 2011

У меня есть веб-сайт с установленным 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.)

1 Ответ

0 голосов
/ 18 мая 2011

Я понял это. Мой рабочий файл .htaccess:

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 %{REQUEST_URI} ^(/something1|/something2)
RewriteRule .* otherdrupal/index.php?r=$1 [L,QSA]

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]
...