你好regex和nginx - 朋友,
我在网上搜了好几个小时,这让我抓狂:-)我甚至找不到类似的问题。 我想重写mysite.com/blog - > blog.mysite.com/blog。
也许我完全错了,但现在我有:
if ($host !~* ^(blog|subdomain)/blog$) {
rewrite ^/(.*)$ $scheme://blog.$host/$1 permanent;
}
这有点工作但不是真的。我明白了:
http://blog.blog.mysite.com/blog
总是2次博客。为什么呢?
你可以查看我的“IF”声明吗?我认为它写得不正确,因为我真正想说的是: 如果URI不是以博客开头,而是以/ blog结尾,而不是添加“博客”。在http://之后直接开头,它看起来像http://blog.mysite.com/blog。
提前多谢你们!
答案 0 :(得分:0)
尝试这样的事情。现在,您正在尝试比较主机名以匹配网址路径。
location /blog {
if($host !~* ^(blog.mysite.com)$) {
rewrite ^/(.)$ $scheme://blog.$host/$1 permanent;
}
}
答案 1 :(得分:0)
所以我必须回答我自己的问题。 请原谅我,这不是一个真正的答案。 第一件事首先,......我放弃了这一点。
为什么呢? 好吧,我认为为我的论坛博客提供支持并购买漂亮的uris就好了 blog.mysite.com shop.mysite.com forum.mysite.com 洞的东西是django + nginx(服务静态文件)+ apache2 - 驱动。 现在我的网址看起来像这样:mysite.com/forum mysite.com/blog mysite.com/shop。 我没有看到如何改变它的解决方案。 如果我管理todo重写我会有另一个问题,因为我会得到类似于这个blog.mysite.com/blog的uris,它看起来也不是很漂亮。 我的django应用程序是用一个apache VirtualHost完成的,只有一个wsgi_handler。
所以,如果我真的想要子域名。
我应该这样做:multiple-subdomains
我认为在SEO(搜索引擎优化)的含义中,可能有多个子域并不是一个好主意。也许子域名不如URL中的子文件夹那么多。
所以,如果没有人给我一个荣耀的解决方案,真正的男人如何做到这一点,我会去我的A-Records博客商店论坛并删除它们。所以我将使用mysite.com / *
你觉得怎么样? 问候sc