是不是你之前装帝国CMS的时候图省事,直接装在了根目录?后来想把站点挪到子目录做专区,或者换个目录名防黑客扫描,结果刚改完就整站404,后台也进不去,折腾半天只能恢复备份,白费功夫?
我前阵子帮个开本地资讯站的朋友处理过一模一样的问题,他瞎改目录没改配置,整站挂了3小时丢了好多流量。今天把完整的改目录步骤给你理得明明白白,完全没基础的新手照着做也不会出错。
别嫌备份麻烦,真改坏了能省你半天功夫。一定要同时备份程序文件和数据库,程序文件直接把根目录所有文件打包下载,数据库可以用帝国后台的「备份数据」功能,或者phpmyadmin导出就行。之前有个网友只备份了数据库,程序文件没备份,改坏了只能重装,之前改了半个月的模板全没了,哭都没用。
不管你是用虚拟主机还是云服务器,新目录先开好权限。Linux主机给755权限,Windows主机给读写权限,避免文件移过去之后读不出来,后台登不上。
把原来安装目录里的所有文件,全选剪切到新目录里。一定要记得勾选显示隐藏文件,比如.htaccess、.user.ini这种,漏了伪静态规则直接全站404。举个例子,你原来装在根目录,现在要放到/cms/子目录,就把根目录里的/e/、/d/、index.php这些全挪到/cms/文件夹里。
找到新目录里的/e/config/config.php文件,用记事本或者代码编辑器打开,找到下面这行代码:
```php $ecms_config['sets']['weburl']='/'; ```把引号里的路径改成你新的目录路径,比如挪到/cms/就改成'/cms/',要是你绑定了独立域名,就填完整域名比如'https://xxx.com/cms/'。别的配置不要乱改,改完保存上传覆盖就行。

用新的后台地址登录,比如你挪到/cms/目录,后台地址就是「你的域名/cms/e/admin」。登录之后依次点:系统-系统参数设置-核心设置,把「网站地址」项改成你新的目录地址,点确认保存。保存完一定要点后台右上角的「更新缓存」按钮,不然前台读的还是旧配置。
到后台的「数据更新」板块,依次点更新首页、更新所有栏目页、更新所有信息页,把之前生成的静态页全部换成新路径的,不然用户访问的还是旧的静态文件,照样404。
要是你之前发文章的时候,插图片、加内链用的是绝对路径,比如直接写了「/uploads/1.jpg」,改完目录之后这些资源就加载不出来。直接用帝国自带的批量替换功能:其他-批量替换内容,把旧的路径前缀替换成新的就行,不用手动改每篇文章。
如果你开了伪静态,要把新目录里的.htaccess(Nginx是对应conf规则)里的路径改对。比如原来根目录的伪静态规则是:
``` RewriteRule ^(.)$ /e/action/rewrite.php?$1 ```挪到/cms/目录之后就改成:
``` RewriteRule ^(.)$ /cms/e/action/rewrite.php?$1 ```规则里的路径要和你新目录完全对应,不然所有动态页面、伪静态页全是404。
很多人喜欢在模板里写死静态资源路径,比如直接写「/css/style.css」,改完目录之后这些CSS、JS就加载不出来,要么改成带新目录的路径,要么直接用相对路径,比如「/cms/css/style.css」或者「../css/style.css」,下次再改目录也不用再折腾模板。
整个操作下来快的话10分钟就能搞定,根本不像网上说的那么复杂。你现在要做的第一件事,就是先去给你的站点做个完整备份,别嫌麻烦,真改坏了备份就是你的救命稻草。要是操作的时候遇到啥稀奇古怪的问题,直接在评论区说下你的情况,我看到就给你解答。
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图