Чтобы использовать методы и член объекта, вам сначала нужно создать этот объект. Если вы его не создали (переменная, которая должна содержать объект, не инициализируется), но вы пытаетесь использовать его методы или переменные, вы получите эту ошибку.
Иногда вы можете просто забыть инициализировать .
Отредактировано: new не может вернуть значение null, но исключение огня при ошибке. Давно это было на некоторых языках, но не больше. Спасибо @John Saunders за указание на это.
имя_сервера поддерживает совпадения суффикса с использованием синтаксиса .mydomain.com:
server {
server_name .mydomain.com;
rewrite ^ http://www.adifferentdomain.com$request_uri? permanent;
}
или любой версии 0.9.1 или выше:
server {
server_name .mydomain.com;
return 301 http://www.adifferentdomain.com$request_uri;
}
Это должно работать через HTTPRewriteModule .
Пример перезаписи с www.example.com на example.com:
server {
server_name www.example.com;
rewrite ^ http://example.com$request_uri? permanent;
}
Зачем использовать модуль перезаписи, если вы можете сделать return
? С технической точки зрения, return
является частью переписывающего модуля как , вы можете прочитать здесь , но этот фрагмент легче читать imho.
server {
server_name .domain.com;
return 302 $scheme://forwarded-domain.com;
}
Вы также можете дать ему 301 перенаправление.
server {
server_name .mydomain.com;
return 301 http://www.adifferentdomain.com$request_uri;
}
http://wiki.nginx.org/HttpRewriteModule#return
и
Если вы хотите перенаправить запросы для «domain1.com» на «domain2.com», вы можете создать серверный блок, который выглядит так:
server {
listen 80;
server_name domain1.com;
return 301 $scheme://domain2.com$request_uri;
}