赞片CMSApache怎么配置

chinaz
chinaz 正式会员超兽战士
发布于 2026-10-07 08:53 ·1 浏览 ·0 回复

照这篇做完,你能让赞片CMS 在 Apache 环境下正常安装、内页不 404、后台能登录。

赞片CMS 是基于 ThinkPHP 的 PHP 程序,入口文件 index.php 就在程序根目录,所以 Apache 这边要处理的主要是三件事:让伪静态生效、把站点指向正确的目录、给 PHP 放开必要的上传和超时限制。下面按顺序来。

第一步:确认环境版本和 rewrite 模块

这一步要弄清楚你的 Apache、PHP 版本够不够,以及伪静态模块开没开。

赞片CMS 建议跑在 PHP 7.0~7.4(7.2 或 7.4 最稳),MySQL 5.6/5.7,Apache 2.4。PHP 8 上部分老版本会报错,别硬上。

检查 rewrite 模块有没有加载:

apache2ctl -M | grep rewrite     # Debian/Ubuntu
httpd -M | grep rewrite          # CentOS/AlmaLinux

没输出就手动开:

  • Ubuntu/Debian:sudo a2enmod rewrite
  • CentOS:编辑 /etc/httpd/conf/httpd.conf,把 #LoadModule rewrite_module modules/mod_rewrite.so 前面的 # 删掉

改完重启:sudo systemctl restart apache2 或 sudo systemctl restart httpd。

第二步:让 .htaccess 生效

这一步决定你写在 .htaccess 里的伪静态规则会不会被 Apache 读取。

打开主配置文件或虚拟主机配置文件,找到网站目录对应的 <Directory> 段:

<Directory /www/wwwroot/zanpian>
    Options FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

AllowOverride 必须是 All(或至少包含 FileInfo)。

注意:AllowOverride None 是最常见的坑。它的表现是首页正常打开,但所有栏目页、详情页、后台二级页面全部 404。遇到这个现象先回来查这一行。

第三步:配置虚拟主机,指向程序根目录

这一步把域名和赞片CMS 的实际目录绑起来。解压后,index.php、application、public、runtime 这些应该在同一个目录里,DocumentRoot 指向这一层,不要指向它的上一级,也不要想当然指向 public(赞片CMS 的入口不在 public 下)。

<VirtualHost *:80>
    ServerName www.example.com
    DocumentRoot /www/wwwroot/zanpian

    <Directory /www/wwwroot/zanpian>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog /var/log/apache2/zanpian_error.log
    CustomLog /var/log/apache2/zanpian_access.log combined
</VirtualHost>

注意:如果 DocumentRoot 指到了 /www/wwwroot 这种上层目录,别人可以直接浏览你的其他站点文件甚至下载数据库配置,务必指到程序本身。

第四步:写伪静态规则

这一步的目的是让 /vod/123.html 这种地址能被正确解析,而不是 404。

先看后台:赞片CMS 后台一般有「系统 → 伪静态设置」或类似入口,里面直接给出 Apache 规则,复制粘贴到网站根目录的 .htaccess 文件即可,这是最稳妥的做法,不同版本规则不一样,以后台给出的为准。

如果后台没找到,可以用 ThinkPHP 通用规则:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

注意:如果站点挂在二级目录(比如 example.com/zp/),RewriteBase 要改成 /zp/,否则规则会指向错误路径。

第五步:调 PHP 配置

这一步解决后台传图失败、采集超时、安装卡住的问题。

编辑 php.ini,把这几项调大:

upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
memory_limit = 256M
max_input_vars = 5000

改完重启 Apache(如果用 PHP-FPM 还要重启 php-fpm)。

注意:别随手禁用 scandir、exec、file_get_contents 这类函数,赞片CMS 的模板和采集模块会用到,禁了容易出现莫名其妙的空白页。

第六步:目录权限和安装

这一步让程序能写缓存、能生成静态页。

chown -R www-data:www-data /www/wwwroot/zanpian    # CentOS 换成 apache:apache
find /www/wwwroot/zanpian -type d -exec chmod 755 {} \;
find /www/wwwroot/zanpian -type f -exec chmod 644 {} \;
chmod -R 777 /www/wwwroot/zanpian/runtime
chmod -R 777 /www/wwwroot/zanpian/data
chmod -R 777 /www/wwwroot/zanpian/uploads

然后浏览器访问 http://你的域名/install/index.php(有些版本直接访问域名会自动跳安装页),按提示填数据库信息、管理员账号即可。安装完记得删掉 install 目录。

第七步:验证

依次打开首页、随便点进一个栏目页、再点进一个详情页、最后登录后台 http://你的域名/admin.php。四个都能正常打开,说明伪静态和权限都对了。

如果内页报 No input file specified,是 index.php/$1 这种写法在你的 PHP 模式(PHP-FPM)下不兼容,把规则换成:

RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L]

小结

  • PHP 用 7.2/7.4,别用 8;rewrite 模块要确认已加载。
  • AllowOverride All 不设,内页必 404。
  • DocumentRoot 指向 index.php 所在目录,不要指上层,也不要指 public。
  • 伪静态规则优先用后台自带的,没有再用 ThinkPHP 通用规则,二级目录记得改 RewriteBase。
  • runtime、data、uploads 三个目录必须可写。
  • 内页 No input file specified 就换成 index.php?s=$1 的写法。
版权声明:本文来自 GJ站长论坛《赞片CMSApache怎么配置》
原文链接:https://www.gj0.com/thread-197.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~