各位好:
我目前想達成2種效果,第1點已經完成,
但第2點設置的子域名卻一直無法啟用,
再請各位給予指點,感謝。
1.non-www一律轉到有WWW => 此功能有作用!!
demo.com => www.demo.com
2.任意配置的子域名可導引到該網站下的相對應子目錄=> 無法作用
blog.demo.com => www.demo.com/blog/
但是我是想做這樣的功能:
blog.demo.com => www.demo.com/index.php?subdomain=blog
xx.demo.com => www.demo.com/index.php?subdomain=xx
..
3.我在搜尋歷史問題時,有看到 有這種特殊網址,
www.blog.demo.com / www.news.demo.com ....
這種也是可以利用subdomain方式達到的嗎?
nginx.conf基本上這個設定沒太大問題
/etc/nginx/nginx.conf
以下這個就無法達到想要的效果配置:
/etc/nginx/conf.d/demo.conf
我目前想達成2種效果,第1點已經完成,
但第2點設置的子域名卻一直無法啟用,
再請各位給予指點,感謝。
1.non-www一律轉到有WWW => 此功能有作用!!
demo.com => www.demo.com
2.任意配置的子域名可導引到該網站下的相對應子目錄=> 無法作用
blog.demo.com => www.demo.com/blog/
但是我是想做這樣的功能:
blog.demo.com => www.demo.com/index.php?subdomain=blog
xx.demo.com => www.demo.com/index.php?subdomain=xx
..
3.我在搜尋歷史問題時,有看到 有這種特殊網址,
www.blog.demo.com / www.news.demo.com ....
這種也是可以利用subdomain方式達到的嗎?
nginx.conf基本上這個設定沒太大問題
/etc/nginx/nginx.conf
http { ....部分略.... include /etc/nginx/conf.d/*.conf; # include 虛擬主機的配置文件 index index.html index.htm; server { if ( $host ~* "\d+\.\d+\.\d+\.\d+" ) { } listen 80 default_server; server_name localhost; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } # redirect server error pages to the static page /40x.html # error_page 404 /404.html; location = /40x.html { } } }
以下這個就無法達到想要的效果配置:
/etc/nginx/conf.d/demo.conf
# 2015/01 server { #Redirect non-www to WWW listen 80; server_name demo.com; return 301 http://www.demo.com; } server { listen 80; server_name www.demo.com *.demo.com; # ↓↓↓↓以下是子網域配置,但是無法生效?? ↓↓↓↓ #if ( $host ~* (\b(?!www\b)\w+)\.\w+\.\w+ ) { # set $subdomain /$1; #} #set $root_path '/usr/share/nginx/html/demo.com/$subdomain'; # ↑↑↑↑ 以下是子網域配置,但是無法生效?? #以下都正常,通過測試 set $root_path '/usr/share/nginx/html/demo.com'; root $root_path; index index.php index.html; location / { try_files $uri $uri/ /index.php?q=$uri\&; } location ~ \.php$ { try_files $uri $uri/ /index.php?q=$uri\&; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_intercept_errors on; } }