如何使用 Nginx 重定向到不同的域?
如何使用 Nginx 将 mydomain.example
和任何子域 *.mydomain.example
重定向到 www.a differentdomain.example
?
How can I redirect mydomain.example
and any subdomain *.mydomain.example
to www.adifferentdomain.example
using Nginx?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
server_name 支持使用
.mydomain.example
语法进行后缀匹配:或在任何 0.9 版本上.1 或更高:
server_name supports suffix matches using
.mydomain.example
syntax:or on any version 0.9.1 or higher:
http://wiki.nginx.org/HttpRewriteModule#return
和
http://wiki.nginx.org/Pitfalls#Taxing_Rewrites
http://wiki.nginx.org/HttpRewriteModule#return
and
http://wiki.nginx.org/Pitfalls#Taxing_Rewrites
我正在为我的网站使用此代码
I'm using this code for my sites
如果可以
return
,为什么还要使用重写模块呢?从技术上讲,return
是重写模块的一部分,您可以在此处阅读 但恕我直言,这段代码更容易阅读。您还可以给它一个 301 重定向。
Why use the rewrite module if you can do
return
? Technically speaking,return
is part of the rewrite module as you can read here but this snippet is easier to read imho.You can also give it a 301 redirect.
这应该通过 HTTPRewriteModule 工作。
从
www.example.com
重写为 example.com 的示例:That should work via HTTPRewriteModule.
Example rewrite from
www.example.com
to example.com:如果您想将
domain1.example
的请求重定向到domain2.example
,您可以创建一个如下所示的服务器块:If you would like to redirect requests for
domain1.example
todomain2.example
, you could create a server block that looks like this:您可以简单地在 server {} 块中编写 if 条件:
You can simply write a if condition inside server {} block:
临时重定向
永久重定向
在特定站点的 Nginx 配置文件中:
Temporary redirect
Permanent redirect
In Nginx configuration file for specific site:
刚刚开始使用 wordops,并且有一个用于电子邮件地址的短域名,我需要将其重定向到网站的主要长域名。我的两个域的 MX DNS 条目都指向交换服务器,但 Web 服务位于 DigitalOcean 上。我最终做的是创建一个基本的 wordops html 站点,然后编辑 nginx conf 以专门重定向到长域名的 http 地址,然后重定向到 https。这解决了我在 Firefox 等中的“警告”问题。这最终对我有用:
Just started using wordops and had a short domain name I use for email addresses that I needed to redirect to the primary long domain name for the website. My MX DNS entries for both domains pointed to an exchange server but the web service was on DigitalOcean. What I ended up doing was creating a basic wordops html site then editing the nginx conf to redirect specifically to the http address of the long domain name which THEN redirects to https. This solved my "warning" issue in firefox etc. This is what finally worked for me: