赞片CMSApache配置
照着做完,你能让赞片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 一般无需额外设置。
小结
- 先开
mod_rewrite,再改AllowOverride All,这两步是伪静态的地基。 - 虚拟主机 DocumentRoot 指向赞片CMS根目录,域名才对得上。
- 只有
runtime、uploads、data需要写权限,其余保持 755/644。 .htaccess放在站点根目录,规则优先用后台给出的官方版本。- 排查顺序固定:先测
index.php?s=...,再查重写,最后查缓存。
原文链接:https://www.gj0.com/thread-219.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。