У меня есть старое решение на основе Drupal 7 и новое на основе Drupal 8. Оба предоставляют API для своих мобильных приложений. (URL-адреса могут быть легко различимы) Чтобы обеспечить плавную миграцию для пользователей, я хочу, чтобы старое решение работало в том виде, в каком оно есть, и обслуживать за ним новую версию API, оно имеет очевидную разницу в шаблонах, таких как / oauth / token, / api / v1/ , /api/v2/.
Я пробовал разные способы настройки apache с разными результатами, но не совсем то, что мне нужно. Я попробовал: Настройка виртуальных хостов вместе с Alias;Изменение DocumentRoot на / var / www (где у меня есть docroot и docroot-new). Конфигурирование .htaccess различными способами
<VirtualHost *:80>
ServerName ${APACHE_SERVERNAME}
ServerAlias test.*
DocumentRoot /var/www/docroot/
#this is example with phpinfo, works well
Alias "/info.php" "/var/www/docroot-new/"
#Just to simplify I'm trying to serve only one API endpoint from
new solution
Alias /api/v1/mobile-ui/ "/var/www/docroot-new/"
#And auth endpoint
Alias "/oauth/token/" "/var/www/docroot-new/"
</VirtualHost>
<Directory "/var/www/docroot/">
DirectoryIndex index.php
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
<Directory "/var/www/docroot-new/">
DirectoryIndex index.php
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
В этом случае старое решение обслуживается хорошо, но новое не можетбыть соответствующим образомЕсли я изменю DocumentRoot на / var / www /, то они оба будут работать хорошо, но, очевидно, с именем dir в URL. Я думаю, что .htaccess может помочь мне здесь, но я не эксперт и не могу найти решение. Я также включаю ведение журнала добавления для apache и могу проверять такие детали, как соответствие mod_rewrite (на самом деле это не очень полезно для меня)