赞片CMSApache配置

liulian
liulian 正式会员超兽战士
发布于 2026-10-07 09:57 ·1 浏览 ·0 回复

照着做完,你能让赞片CMS在Apache下正常打开、伪静态生效、后台不再提示「Rewrite规则未开启」。

第一步:确认环境版本并开启 mod_rewrite

赞片CMS是PHP程序,Apache必须加载重写模块,否则伪静态和后台部分跳转都会失效。推荐组合:Apache 2.4、PHP 7.2~8.0、MySQL 5.6 以上。

Linux(CentOS/RHEL)编辑 /etc/httpd/conf/httpd.conf,找到这行并去掉前面的 #:

LoadModule rewrite_module modules/modules/mod_rewrite.so

注意路径写错了会启动失败,先去 /etc/httpd/modules/ 下确认文件名。Ubuntu/Debian 不用改配置文件,直接执行:

sudo a2enmod rewrite
sudo systemctl restart apache2

重启后访问 phpinfo.php,搜索 Loaded Modules,能看到 mod_rewrite 即成功。这一步做完,Apache 才具备做伪静态的能力。

第二步:把 AllowOverride 改成 All

.htaccess 文件能不能被读取,完全取决于这一项。在 httpd.conf 中找到网站根目录对应的 <Directory> 段(宝塔面板用户改 /www/server/apache/conf/httpd.conf 对应的 vhost 文件):

<Directory "/www/wwwroot/zanpian">
    Options -Indexes +FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

保存后执行 sudo systemctl restart httpd(Ubuntu 是 apache2)。

注意:AllowOverride None 时 .htaccess 会被完全忽略,表现是伪静态明明写了却一直 404,很多人卡在这里查半天规则。

第三步:配置虚拟主机并绑定域名

让域名指向赞片CMS目录,而不是默认的 /var/www/html。在 httpd.conf 末尾或 conf.d/ 下新增:

<VirtualHost *:80>
    ServerName www.example.com
    DocumentRoot "/www/wwwroot/zanpian"
    ErrorLog logs/zanpian-error.log
    CustomLog logs/zanpian-access.log combined
</VirtualHost>

重启 Apache,浏览器访问域名能进入安装页即成功。宝塔面板用户可以在「网站 → 添加站点」里填域名和根目录,再在「网站 → 设置 → 配置文件」里确认 AllowOverride 为 All。

第四步:设置目录权限

上传源码后给程序读写权限,否则安装时数据库配置写不进去:

cd /www/wwwroot/zanpian
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
chmod -R 777 runtime uploads data

runtime、uploads、data 三个目录必须可写,其他目录不要给 777。

注意:如果站点根目录已经被设置为 777,Apache 会拒绝执行 PHP 脚本,报 500 错误。出现 500 先看 zanpian-error.log。

第五步:写 .htaccess 伪静态规则

在站点根目录新建 .htaccess(和 index.php 同级),内容如下:

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

如果后台「系统设置 → URL设置 → 伪静态」里给出了官方规则,以官方规则为准,格式可能略有差异。

保存后重启 Apache,然后进后台开启伪静态,并清理一次缓存。

第六步:验证与常见问题排查

访问一条详情页地址(如 /vod/1.html),能正常打开说明配置成功。

  • 全部 404:先用 index.php?s=/vod/1.html 测试,能开就是重写问题,回到第二步检查 AllowOverride。
  • 首页正常、内页 404:多半是 RewriteBase 写成了子目录,改成 / 或对应子目录。
  • 提示「伪静态未开启」:后台 URL 设置里没点开启,清缓存后重试。
  • 中文标题页打不开:确认 <meta charset> 与数据库编码一致,Apache 一般无需额外设置。

小结

  1. 先开 mod_rewrite,再改 AllowOverride All,这两步是伪静态的地基。
  2. 虚拟主机 DocumentRoot 指向赞片CMS根目录,域名才对得上。
  3. 只有 runtime、uploads、data 需要写权限,其余保持 755/644。
  4. .htaccess 放在站点根目录,规则优先用后台给出的官方版本。
  5. 排查顺序固定:先测 index.php?s=...,再查重写,最后查缓存。
版权声明:本文来自 GJ站长论坛《赞片CMSApache配置》
原文链接:https://www.gj0.com/thread-219.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。
他们都看过 1 人浏览过
GJ论坛站长

全部回复 0

还没有回复,来抢沙发~