3

Я хотел бы служить example.com/mypage.html с example.com/mypage .

В nginx.conf я попытался поместить mypage.html в назначенный корневой каталог, а затем

location /mypage}
 alias mypage.html;
}

Но не игра в кости. Должно быть что-то похожее?

Редактировать: если я положу весь путь из '/' в псевдоним, он будет работать, но я бы предпочел, чтобы он был относительно относительного корневого каталога. Как мне обратиться к корневому каталогу, который я определил ранее в конфигурации с:

root /usr/share/nginx/www;

Кроме того, когда я делаю это, и клиент делает запрос для /mypage, nginx по умолчанию принимает тип файла потока октетов. Как заставить текст / HTML для URL, которые я определяю, как это?

1 ответ1

5

Вы можете добавить следующее в ваше location / блок, чтобы он работал на всех страницах. Сначала он попытается обслужить запрошенный URI, если это не сработает, он попытается обслужить его с расширением html (без добавления его в URL).

location / {
    try_files $uri $uri.html $uri/ /index.html;
}

или если вы хотите, чтобы он работал только с одной страницей, вы можете добавить следующее в свой блок сервера

location ~ /mypage {
    try_files $uri.html /index.html;
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .