Приложение Apache в подпапке
Я поместил свое приложение в подпапку "подпапка" Apache, чтобы я мог использовать URL, например: https://myserver.com/subfolder/ вместо https://myserver.com/
Я использую следующую конфигурацию каталога:
Alias /subfolder /srv/apache2/htdocs/subfolder
<Directory /srv/apache2/htdocs/subfolder>
Order allow,deny
Allow from all
Options All
AllowOverride All
Require all granted
</Directory>
Проблема в том, что теперь у меня много неработающих ссылок и не найдены ресурсы с такими ошибками:
https://myserver.com/app/v2/anotherfolder/anotherpage.html
Failed to load resource: the server responded with a status of 404 (Not Found)
Обратите внимание, что такие ссылки в ошибках не содержат "подпапки" в пути.
Что мне не хватает?
2 ответа
Решение
Внутри вашего корня сайта.htaccess (т.е. htdocs/
) используйте это правило:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(?!subfolder/).* subfolder/$0 [L,NC]
Вы можете попытаться ввести это ниже в свой файл.htaccess в общедоступном каталоге в каталоге "подпапки". Я предполагаю, что вы уже сделали изменения, которые вы должны были внести в файл виртуальных хостов.
RewriteBase /subfolder (just below RewriteEngine On)