У меня есть приложение в подпапке «подпапка» Apache, поэтому я могу использовать URL-адрес, например: https://example.com/subfolder/#/v2/login
вместо того https://example.com/#/v2/login
.
У меня в .htaccess
файл в моей папке htdocs:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteRule ^(?!subfolder/).* subfolder/$0 [L,NC]
Проблема в том, что он выполняет перезапись даже для корневого URL-адреса моего сервера; например, если я пойду в https://example.com/
, Я вижу домашнюю страницу своего приложения во «подпапке». Я хотел бы, чтобы эти правила перезаписи применялись только к приложению во «подпапке».
Я также пробовал поставить .htaccess
файл внутри «подпапки», но он не работает.
RewriteRule ^(?!subfolder/).* subfolder/$0 [L,NC]
Чтобы исключить только корневой URL (в .htaccess
) вы можете изменить RewriteRule
шаблон для соответствия 1 или более (.+
) символов вместо 0 или более (.*
) которые у вас есть сейчас:
RewriteRule ^(?!subfolder/).+ subfolder/$0 [L,NC]
В качестве альтернативы, чтобы исключить все файлы, которые существуют в корне сайта (или где-либо еще, если на то пошло), включите два дополнительных условия:
RewriteBase /subfolder
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(?!subfolder/).+ $0 [L,NC]