я хочу http://blog.domain.com/ указать на http://www.domain.com/blog
Просто примечание, не для перенаправления в это место, но просто укажите на него.
Также / блог это не папка. Например, это может быть blog.php
Итак, когда я перейду к http://blog.domain.com, веб-сайт отображает контент из http://www.domain.com/blog
Что я пробовал до сих пор:
server{
listen 80;
server_name blog.domain.com;
rewrite ^/blog(.*) http://blog.domain.com/$1 permanent;
}
В результате возвращается nginx 404 Не Найдено ошибка.
Я стараюсь избегать регулярных выражений, потому что у меня это плохо получается. Возможно, попробуем:
return 301 http://www.example.com/blog$request_uri;
Подводные камни - Сообщество Nginx
Будет установка root
в каталог, который обслуживает www.example.com/blog, выполняет ту функцию, которую вы ищете?
server{
listen 80;
server_name blog.domain.com;
root /path/to/blog;
}
Ваш синтаксис перезаписи неправильный. Вы хотите переписать корень во вложенную папку. В этом правиле вы переписываете папку / blog, что вам не нужно.
В .htaccess
правило будет таким:
RewriteRule ^(.*)$ /blog/$1 [L]
Преобразуйте это в свой формат nginx.