Как получить субдомен в качестве переменной для добавления при перезаписи?
Привет.example.com должен перейти на example.com/user.php?u=Привет но все равно отображается как просто Привет.example.com
Я сейчас делаю http://example.com/users/Привет но хотелось бы иметь доменные имена в стиле Tumblr для пользователей.
rewrite ^/users/(.*)$ /user.php?u=$1 last;
Кроме того, если после субдомена hello.example.com/settings/ есть такие страницы, как / settings /, мне нужно будет переписать их в settings.php
Две вещи. Во-первых, вам нужно прочитать переменную хоста, чтобы получить поддомен и установить его в переменную, которая будет использоваться позже.
Я использовал переменную $ sub_domain, а затем добавил переменную в URI.
if ($host ~* (.*)\.example\.com) {
set $sub_domain $1;
rewrite ^/user.php$ /user.php?u=$sub_domain
}
Строку перезаписи нужно доработать. Я привел здесь пример. Обратитесь к встроенному nginx документация по переменным для доступных опций.