在开始配置迅睿CMS子站点之前,必须确保服务器环境满足以下硬性条件,否则后续操作必然报错。请逐一检查:
cache、template、uploadfile目录具有可读写权限(755或777)。sub.example.com)A记录解析到当前服务器IP,并确保已生效。登录迅睿CMS后台管理界面,进入【系统】->【网站管理】->【站点管理】。点击右上角的【添加站点】按钮。这一步的核心在于正确填写站点目录和域名配置。
在弹出的添加窗口中,需要配置以下关键参数:
m或en。假设主站安装在/www/wwwroot/main,那么子站点的完整路径将自动生成在/www/wwwroot/main/public/m。https://m.example.com。注意,这里填写的域名必须与服务器解析的域名完全一致。填写完毕后,点击【提交】。此时后台仅完成了数据库中的记录添加,还需要生成对应的程序文件。
返回站点管理列表,找到刚才创建的站点。在操作列中,点击【同步程序】图标(通常是一个循环箭头或“同步”文字按钮)。系统会提示“正在生成程序文件...”。
如果同步失败,或者你需要手动部署,请按照以下步骤操作,这是解决“404 Not Found”或“500错误”的关键:
1. 创建物理目录
通过FTP或SSH连接服务器,进入public目录,新建一个文件夹,名称必须与第一步中填写的“站点目录”一致(例如m)。
2. 复制入口文件
将迅睿CMS根目录下的index.php和config.php文件复制到刚才创建的public/m/目录中。
3. 修改config.php配置
打开public/m/config.php文件,找到以下关键配置项并进行修改:
WEB_DIR或自动识别,但手动指定更稳妥。在文件头部添加或修改:
define('WEB_DIR', 'm'); // 将'm'替换为你的实际目录名
require_once或include路径。因为入口文件在子目录,所以引用系统核心文件时需要使用__DIR__向上级查找。标准的index.php通常已经处理好,但config.php中的FCPATH定义需要确认。通常无需修改,除非你的目录结构非常特殊。这是最容易卡壳的环节。子站点通常需要独立的Server块,或者通过伪静态规则分流。为了保证性能和稳定性,强烈建议为子站点配置独立的Server块。
打开Nginx配置文件(通常在/www/server/panel/vhost/nginx/或/etc/nginx/conf.d/),创建一个新的.conf文件,或者直接在主配置文件中追加以下代码:
server {
listen 80;
server_name m.example.com; 你的子站点域名
关键配置:root路径必须指向子站点的物理目录
root /www/wwwroot/main/public/m;
index index.php index.html index.htm;
字符集
charset utf-8;
访问日志(可选,调试时开启)
access_log /www/wwwlogs/m.log;
迅睿CMS伪静态规则
location / {
if (!-e $request_filename) {
rewrite ^(.)$ /index.php?s=$1 last;
break;
}
}
PHP解析配置
location ~ \.php$ {
fastcgi_pass unix:/tmp/php-cgi-74.sock; 根据实际PHP版本调整sock路径
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
配置细节解析:
public/目录名。如果指向了上级目录,系统会找不到入口文件。$document_root变量,确保PHP文件解析路径与root指令一致。
配置完成后,执行命令重载Nginx:nginx -s reload或宝塔面板软件商店中重载配置。
如果是Apache环境,需要在网站根目录或虚拟主机配置中添加:
ServerName m.example.com
DocumentRoot "/www/wwwroot/main/public/m"
Options FollowSymLinks
AllowOverride All
Require all granted
开启伪静态引擎
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.)$ index.php?s=$1 [QSA,PT,L]
注意: 确保Apache的mod_rewrite模块已开启。配置完成后重启Apache服务。
如果在第三步中没有直接在Server配置中写入Rewrite规则,你也可以通过在子站点目录下放置.htaccess文件(Apache)或配置include文件(Nginx)来实现。
在public/m/目录下创建.htaccess文件,填入以下内容:
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.)$ index.php?s=$1 [QSA,PT,L]
对于Nginx用户,如果不想修改主配置文件,可以确保include了伪静态规则文件,但通常直接写在Server块内性能最高,不易出错。
完成上述所有步骤后,在浏览器浏览器地址栏输入http://m.example.com。
原因: 域名解析错误,或者config.php中的域名绑定未生效。
解决: 检查public/m/config.php,确保WEB_URL或相关常量指向了子域名。清除浏览器缓存和服务器cache目录下的缓存文件。
原因: Web服务器的root路径配置错误,或者伪静态规则未生效。
解决: 检查Nginx/Apache配置文件中的root路径是否绝对正确。尝试访问http://m.example.com/index.php,如果这个能打开,说明PHP环境正常,问题出在伪静态规则上。
原因: Nginx的fastcgi_param SCRIPT_FILENAME配置错误。
解决: 参考第三步Nginx配置,确保使用$document_root$fastcgi_script_name,不要写死路径。
原因: 模板目录未指定,或者CSS/JS路径使用了绝对路径指向了主站。
解决: 检查后台站点设置中的“模板风格”目录。检查模板代码中的{dr_web_file(...)标签调用是否正确。
通过以上全流程操作,你已经完成了迅睿CMS从后台创建到服务器环境部署的所有细节。此时,你的子站点已经可以独立运行,且内容与主站可以在同一个后台进行切换管理。
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图