bfwsoa中同一个目录下如何进行多域名解析
在apache中或nginx中,如果要新建一个站点,需要修改配置文件
apache的为
<VirtualHost *:80> ServerName www.bfw.wiki#表示要访问的域名 DocumentRoot /data/wwwroot/bfw#网站的地址 <Directory "/data/wwwroot/bfw"> Options +Indexes +FollowSymLinks +MultiViews AllowOverride All Order deny,allow allow from all </Directory> </VirtualHost>
nginx为
server { listen 80; server_name www.bfw.wiki; #access_log logs/host.access.log main; location / { root /data/wwwroot/bfw/;#向配哪里配哪里,后面一致就好了 index index.html index.php 1.php 1.html; } error_page 500 502 503 504 /50x.html;#错误页面 location = /50x.html { #错误页面路径 root /data/wwwroot/bfw/;#这个一般不会改,除非你觉得自己写的的比较好看 } location ~ \.php$ { root /data/wwwroot/bfw/; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /$document_root$fastcgi_script_name; include fastcgi_params; } }每次新增网站都要加这些参数,很麻烦,bfwsoa提供了多域名解析的功能,可能根据正则匹配域名解析到不同的dom域下,或者执行不同的控制器及动作器
下面我来演示一下:
在App目录下打开Config.php文件,在host_runmode下增加域名解析的功能,如下:
<?php $_config_arr['Globle'] = [ "routetype" => 0, "instance_name" => "001", "lang" => "Zh", "page_suffix" => ".html", "defaultdom" => "", "defaultact" => "", "defaultcont" => "", "runmode" => "C", "host_runmode" => [ "www.bfw.wki" => [ "mode" => "C", "dom" => "Bfw", "cont" => "Page", "act" => "Index", "routetype" => 2 ], "/([0-9]+)\\.user\\.bfw\\.wiki$/" => [ "mode" => "C", "dom" => "User", "cont" => "User", "act" => "Index", "routetype" => 2, ], ], ]; ?我来解析一下,当客户端访问www.bfw.wiki的时候,bfwsoa将使用dom为bfw的应用,默认首页为控制器Page下的Index动作器
当客户端访问12.user.bfw.wiki的泛域名时候,bfwsoa将使用dom为User的应用,默认首页为控制器User下的Index动作器
是不是很厉害
网友评论0