#nginx
#nginx
Вопрос:
У меня есть веб-сайт (скажем https://test.somesite.com ) подается из папки /var/www/mainSite с использованием nginx. У меня есть еще один веб-сайт в https://test.somesite.com/CMS / для которого я должен сохранить другой набор статических файлов в /var/www/дочернем сайте
В моем конфигурационном файле nginx у меня есть ниже
root /var/www/mainSite;
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.html break;
}
}
location /CMS/ {
if (!-e $request_filename){
rewrite ^(.*)$ /subSite/index.html break;
}
}
Хотя основной сайт работает правильно, я получаю 404, когда нажимаю /CMS/
В журналах nginx я вижу * 544213 open() «/var/www/mainSite/subSite/index.html » сбой (2: нет такого файла или каталога), клиент: 172.31.77.145, сервер: test.somesite.com , запрос: «GET /CMS/ HTTP/1.1», хост: «test.somesite.com »
Не удалось понять, что здесь происходит не так. Может кто-нибудь помочь мне разобраться в проблеме? Так что в следующий раз я не буду делать то же самое 🙂
Комментарии:
1.
/var/www/mainSite/subSite/index.html
Существует ли файл? Какой файл, как вы ожидаете/subSite/index.html
, вернет URI?2.
/var/www/mainSite/subSite/index.html
здесь ничего не существует, так как мои основные и дочерние папки находятся на одном уровне. Это 2 разных веб-сайта, на которых 1 обслуживается somesite.com / и другие на somesite.com/CMS / @Ричардсмит3. Если
index.html
файл находится внутри/var/www/subSite
, вы должны попробовать:alias /var/www/subSite/;
внутриlocation /CMS/
блока. Иrewrite ^ /CMS/index.html last;
внутриif
блока.