我想在我的網站上有各種子域名,例如: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