Nginx Переписать: изменить только местоположение индекса? - PullRequest
4 голосов
/ 12 июня 2011

Как я могу отправить пользователя в новое место, только если у пользователя нет URI? Я пытаюсь выполнить следующие действия, но это не работает ... всегда отправляет меня в / newlocation

rewrite ^/$ http://www.domain.com/newlocation permanent;
rewrite ^/(.*)$ http://www.domain.com/$1 permanent;

Итак, в общем, мне нужно:

Если пользователь пишет в браузере www.domain.org, он отправляет на www.domain.com/newlocation Если пользователь пишет в браузере www.domain.org/something, он отправляет его на www.domain.com/something

.

Спасибо!

1 Ответ

10 голосов
/ 12 июня 2011

Я не уверен, почему ваш нынешний подход не работает.^ / $ должен соответствовать только /.Может быть, это что-то еще, это текущий конфиг.Вот сервер, который должен делать то, что вы хотите.

server {
  server_name www.domain.org;

  # Only match requests for /
  location = / {
    rewrite ^ http://www.domain.com/newlocation permanent;
  }

  # Match everything else
  location / {
    rewrite ^ http://www.domain.com$request_uri? permanent;
  }
}
...