windows wampserver部署骑士cms(74se)后,静态页都是404,如打开职位页面:http://127.0.0.1/job.html,显示404
解决方案:
步骤 1:开启 Apache 的 rewrite_module 模块
这是实现 URL 重写的基础,必须先开启这个模块:
点击桌面右下角的 WampServer 图标(绿色 W 图标);
鼠标悬停到「Apache」→「Apache Modules」;
在列表中找到rewrite_module,点击勾选(确保前面出现对勾);
勾选后 WampServer 会自动重启,等待图标恢复绿色即可。
步骤 2:修改 Apache 配置,允许.htaccess 生效
WampServer 默认禁止.htaccess 文件覆盖配置,需要手动修改:
点击 WampServer 图标→「Apache」→「httpd.conf」(打开 Apache 主配置文件);
在文件中按Ctrl+F搜索关键词:AllowOverride None;
找到针对网站根目录的<Directory>块(通常是<Directory "c:/wamp64/www/">,路径根据你的 Wamp 安装位置调整);
将该块内的AllowOverride None改为AllowOverride All(这一步是让.htaccess 的规则能生效);
保存 httpd.conf 文件,重启 WampServer(点击图标→「Restart All Services」)。
步骤 3:检查 / 配置 74CMS 的.htaccess 文件
74CMS 根目录需要正确的 rewrite 规则文件:
进入你的 74CMS 网站根目录(比如C:\wamp64\www\74se\public);
检查是否有.htaccess文件:
如果没有:新建一个文本文档,重命名为.htaccess(注意前面有个点,删除后缀.txt),粘贴以下内容:
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
# 排除静态文件(css/js/img等),避免被重写
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
# 将所有非文件/非目录的请求转发到index.php处理
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>如果已有:检查内容是否和上面一致,不一致则替换(避免规则错误)。
