你好,regex和nginx - friends,
我已经在网上搜索了几个小时,这让我抓狂:-)我甚至找不到类似的问题。我想重写mysite.com/blog ->博客。
也许我完全错了,但现在我有:
if ($host !~* ^(blog|subdomain)/blog$) {
rewrite ^/(.*)$ $scheme://blog.$host/$1 permanent;
}这有点用,但不是真的。我得到:http://blog.blog.mysite.com/blog总是2次博客。为什么?
你能检查一下我的“如果”声明吗?我认为它写得不正确,因为我真正想说的是:如果URI不是以博客开头,而是以/blog结尾,那么就加上‘blog’。直接放在http://后面的开头,它看起来像http://blog.mysite.com/blog。
提前感谢你们!
发布于 2011-02-21 01:26:33
试试这样的东西。现在您正在尝试将主机名与匹配的url路径进行比较。
location /blog {
if($host !~* ^(blog.mysite.com)$) {
rewrite ^/(.)$ $scheme://blog.$host/$1 permanent;
}
}发布于 2011-02-21 03:26:17
所以伙计们我得回答我自己的问题。请原谅,这不是一个真正的答案。首先,首先..。我已经放弃了这一点。
为什么?好吧,我想用像blog.mysite.com shop.mysite.com forum.mysite.com这样漂亮的uris来支持我的论坛博客和商店会很好。漏洞的东西是django +nginx(提供静态文件)+ apache2驱动。现在,我的urls是这样的: mysite.com/forum mysite.com/blog mysite.com/shop。我看不到如何改变这一点的解决方案。如果我设法重写一次,我会有另一个问题,因为我会得到类似于这个blog.mysite.com/blog的uris,看起来也不是很漂亮。我的hole django应用程序是用一个apache VirtualHost和一个wsgi_handler完成的。
所以如果我真的想要子域名。
我应该像这样做:multiple-subdomains
我认为在SEO (搜索引擎优化)的意义上,也许多个子域并不是一个好主意。也许子域并不像URL中的子文件夹那样多。
因此,如果你们没有人给我一个光荣的解决方案,如何真正的男人做这件事,我会去我的A-Records博客商店论坛,并删除他们。所以我会选择mysite.com/*
你们觉得怎么样?问候sc
https://stackoverflow.com/questions/5058561
复制相似问题