繁体   English   中英

nginx url重写mysite.com/blog => blog.mysite.com/blog

[英]nginx url rewrite mysite.com/blog => blog.mysite.com/blog

您好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 : http://blog.blog.mysite.com/blog总是2次博客。 为什么?

您能否检查我的“ IF”声明? 我认为它写得不正确,因为我真正想说的是:如果URI不是以Blog开头,而以/ blog结尾,而不是添加“ blog”。 到http://之后的开头,看起来就像http://blog.mysite.com/blog

提前谢谢大家!

尝试这样的事情。 现在,您正在尝试比较主机名以匹配URL路径。

location /blog {
  if($host !~* ^(blog.mysite.com)$) {
    rewrite ^/(.)$ $scheme://blog.$host/$1 permanent;
  }
}

所以,我必须回答我自己的问题。 原谅我,这不是一个真正的答案。 首先,……我已经放弃了这一点。

为什么? 好吧,我认为为论坛博客和商店(如blog.mysite.com shop.mysite.com forum.mysite.com)提供支持非常好,漏洞是django + nginx(提供静态文件)+ apache2-驱动。 现在,我的网址如下所示:mysite.com/forum mysite.com/blog mysite.com/shop。 而且我没有看到解决方案,我该如何改变。 如果我设法进行重写,那我会遇到另一个问题,因为我会遇到类似于此blog.mysite.com/blog的uri,看起来也不是很漂亮。 我的Hole django应用程序是用一个Apache VirtualHost和一个wsgi_handler完成的。

因此,如果我真的想要子域。

我应该这样做,类似于: 多个子域

我认为就SEO(搜索引擎优化)的意义而言,多个子域可能并不是一个好主意。 也许子域不如URL中的子文件夹那么重要。

因此,如果没有人给我一个荣耀的解决方案,那么我将去我的A-Records博客商店论坛并删除它们。 所以我只用mysite.com/*

你们有什么感想? 问候sc

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM