На моем сервере Apache у меня есть установка WordPress, работающая на www.domain.com, и я хочу добавить установку Symfony4 на www.domain.com/symfony.Маршруты Symfony перенаправляются на страницу WordPress 404 (но все равно являются правильным URL-адресом, т.е. www.domain.com/symfony/about).Однако, если в моем приложении Symfony не определены маршруты, базовый URL-адрес www.domain.com/symfony/ будет правильно отображать страницу начала работы с Symfony4.Что не так в моих файлах конфигурации Apache?
Веб-сервер - это Apache 2.4, я пытался использовать директивы Alias и AliasMatch в файлах conf / etc / apache2.Alias отображает WordPress 404 для всех маршрутов Symfony, а AliasMatch добавляет многие /index.php к URL-адресу и отображает те же 404. Я пытался скопировать то, что делает phpmyadmin с его Alias /phpmyadmin /usr/share/phpmyadmin
# /etc/apache2/sites-available/wordpress.conf
<Directory /var/www/wordpress>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com
ServerAdmin me@myemail.com
DocumentRoot /var/www/wordpress
</VirtualHost>
# /var/www/wordpress/.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# /etc/apache2/sites-available/symfony.conf
Alias /symfony /var/www/symfony/app/public
<Directory /var/www/symfony/app/public>
Options FollowSymLinks
AllowOverride All
Require all granted
Allow from All
FallbackResource /index.php
</Directory>
# /var/www/symfony/app/config/routes.yaml
about_index:
path: /about
controller: App\Controller\AboutController::index
Я ожидал www.domain.com/symfony/about
чтобы перейти к /var/www/symfony/app/public/index.php
и проложить маршрут к App\Controller\AboutController::index
, но, похоже, WordPress пытается найти страницу /symfony/about
и 404.
Когда я изменяю свой Alias /symfony /var/www/symfony/app/public
на AliasMatch ^/symfony.* /var/www/symfony/app/public
, он меняетсяURL-адрес Symfony равен www.domain.com/symfony/index.php/index.php/index.php/index.php/index.php/index.php
, но имеет тот же результат (страница WordPress 404).Ни одно из моих изменений никак не повлияло на часть WordPress - она по-прежнему функционирует отлично.
РЕДАКТИРОВАТЬ 1
Попробовал новый conf, чтобы проверить, если это моя конфигурация Symfony - она работает, как и ожидалось, поэтому я простодумаю, что-то должно быть в моем Apache Confs.Этот конфиг рассматривает приложение Symfony как основной сайт, и WordPress полностью отключен:
# /etc/apache2/sites-available/symfony_only.conf
<Directory /var/www/symfony/app/public>
Options FollowSymLinks
AllowOverride All
Require all granted
Allow from All
FallbackResource /index.php
</Directory>
<Directory /var/www/symfony/app/public/bundles>
FallbackResource disabled
</Directory>
<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com
ServerAdmin me@myemail.com
DocumentRoot /var/www/symfony/app/public
</VirtualHost>