我想在我的网站上有各种子域名,例如:biology.mysite.com
。子域使用NGINX和Codeigniter
目前我在我的nginx.conf如下:
server {
listen 80;
server_name biology.mysite.com;
return 301 https://mysite.com/tags/biology$request_uri;
}
这个代码在,如果你的浏览器指向到biology.mysite.com
,它重定向到https://mysite.com/tags/biology
和正确的生物学内容加载。
但是,我不要想重定向的网址,但希望保持子域为url。
所以我换成下面的代码上面的基础上this gist但它没有任何效果(意指向biology.mysite.com
简单地去mysite.com
):
if ($host ~* ^www\.([a-z0-9]*)\.(mysite\.com))
{
set $tagname $1;
set $host_without_www $2;
rewrite ^/(.*)$ $scheme://$tagname.$host_without_www/ permanent;
}
if ($host ~* ^([a-z0-9]+)\.(mysite\.com))
{
set $tagname $1;
set $host_without_www $2;
rewrite ^/$ /index.php/tags/index/ last;
rewrite ^/(.+)$ /index.php/$1 last;
}
的思考?
注意我张贴这在这里,而不是Serverfault的原因为B/C我使用笨框架(其中有一个独特的路由方案),因此,答案可能涉及NGINX和笨的知识。
您可能需要等一会儿。有时服务器需要时间来调整其设置。 – shnisaka 2013-03-07 02:42:21
@shnisaka谢谢是的,我已经等了大约30分钟了,同样,第一个代码块的作品表明,等待不太可能是问题。 – 2013-03-07 02:46:21
@shnisaka :)哈哈... timpeterson你使用nginx作为独立还是作为apache的代理? – ddjikic 2013-03-07 09:16:53