CSS 404 错误修复指南
问题描述
访问 https://infogaps.net/_blog/style.css?v=2.1.0 返回 404 错误。
原因分析
- Web 服务器可能阻止访问以 <code>_</code> 开头的目录
- 某些服务器配置默认隐藏以 _ 开头的目录
- Apache/Nginx 可能有特殊规则
- .htaccess 配置问题
- 可能没有明确允许访问 CSS 文件
- 文件权限问题
- CSS 文件可能没有读取权限
解决方案
方案 1:使用 PHP 代理(已实现)✅
已创建 _blog/style.css.php 文件,通过 PHP 提供 CSS 内容。
优点:
- 不依赖 Web 服务器配置
- 支持缓存和版本控制
- 兼容性好
使用方法:
代码已自动更新为使用 style.css.php,无需手动修改。
方案 2:修改 .htaccess(已更新)✅
已更新 .htaccess 文件,添加了:
- 允许访问 CSS 和 JS 文件
- URL 重写规则,将
style.css重定向到style.css.php
方案 3:直接访问 CSS 文件
如果服务器允许,可以直接访问:
https://infogaps.net/_blog/style.css
验证步骤
- 检查文件是否存在
``bash
ls -la blog/style.css
ls -la blog/style.css.php
``
- 测试 PHP 代理
访问:https://infogaps.net/_blog/style.css.php
- 检查文件权限
``bash
chmod 644 blog/style.css
chmod 644 blog/style.css.php
``
- 清除浏览器缓存
- 按 Ctrl+F5 强制刷新 - 或使用无痕模式访问
如果仍然无法访问
检查 Web 服务器配置
Apache
检查 httpd.conf 或虚拟主机配置:
# 确保允许访问 _blog 目录
<Directory "/path/to/your/blog/_blog">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Nginx
检查 nginx.conf:
location /_blog/ {
alias /path/to/your/blog/_blog/;
try_files $uri $uri/ =404;
}
创建符号链接(备选方案)
如果服务器支持符号链接:
# 在网站根目录创建符号链接
ln -s _blog/style.css style.css
然后修改代码使用 /style.css 而不是 /_blog/style.css。
调试技巧
- 启用错误显示(临时)
在 blog/style.css.php</code> 开头添加:
``<code>php
errorreporting(EALL);
iniset('display_errors', '1');
``
- 检查服务器错误日志
``bash
tail -f /var/log/apache2/error.log # Apache
tail -f /var/log/nginx/error.log # Nginx
``
- 使用 curl 测试
``bash
curl -I https://infogaps.net/_blog/style.css.php
``
预期结果
修复后,访问以下 URL 应该都能正常工作:
https://infogaps.net/_blog/style.css.php?v=2.1.0✅https://infogaps.net/_blog/style.css?v=2.1.0✅(通过重写规则)
注意事项
- 缓存问题:修复后清除浏览器缓存
- CDN 缓存:如果使用了 CDN,需要清除 CDN 缓存
- 文件权限:确保 PHP 可以读取
style.css文件