Redirect nginx-将作为category.domain.com/article发布的所有反向链接重定向到domain.com/category/article

Redirect nginx-将作为category.domain.com/article发布的所有反向链接重定向到domain.com/category/article,redirect,nginx,Redirect,Nginx,我只是一个业余博主,在这里发布问题之前,我一直在寻找答案,所以如果答案对你来说很明显,请不要对我苛刻。我尝试了这里提供的几种解决方案,但都不适合我 我正在使用nginx将我的所有网站从debian/apache迁移到Ubuntu14.04 LTS。我在同一台服务器上托管多个域。但对于我的一个网站,我使用了名为“category as subdomain”的wordpress插件,使用了通配符子域,因此我的网站类别链接看起来像category.domain.com/article 问题是我不想再这

我只是一个业余博主,在这里发布问题之前,我一直在寻找答案,所以如果答案对你来说很明显,请不要对我苛刻。我尝试了这里提供的几种解决方案,但都不适合我

我正在使用nginx将我的所有网站从debian/apache迁移到Ubuntu14.04 LTS。我在同一台服务器上托管多个域。但对于我的一个网站,我使用了名为“category as subdomain”的wordpress插件,使用了通配符子域,因此我的网站类别链接看起来像category.domain.com/article

问题是我不想再这样了,因为我知道这只是糟糕的SEO实践。我想切换到domain.com/category/article

仅在网站上,这不是一个问题。这只是禁用插件的问题。问题是来自不同网站的传入链接。我希望将来自category.domain.com/请求文章的所有流量重定向到domain.com/category/请求文章 我有大约10个分类和许多从分类子域断开的链接

这是我在这里找到的最符合逻辑的答案,但没有成功:

server {
server_name ~^(?<sub>aaa|bbb|ccc)\.example\.com$; 
return 301 http://example.com/$sub$request_uri;
}
服务器{
服务器名称^(?aaa | bbb | ccc)\.example\.com$;
返回301http://example.com/$sub$request_uri;
}

我做错了什么?如何以正确的方式执行此操作?

您有一个单独的
服务器
块,其中包含
server\u name example.com?是的,我有example.com的服务器块您缺少一个
~
:使用:
server\u name~ ^(?aaa | bbb | ccc)\.example\.com$已添加~但仍不工作..当尝试从旧链接浏览器访问时,响应-此网页不可用DNS\u PROBE\u FINISHED\u nxDomain这是DNS查找问题。确保在
return
语句中正确输入域名,并且
category.example.com
example.com
都有指向服务器的记录。