You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

根目录.htaccess重写规则为何影响其他文件?

解决根目录HTML文件无法加载的问题

嘿,我一眼就看出问题所在了——你当前的Rewrite规则会把所有以.html结尾的请求都抓去转发到viewphoto.php,包括你根目录下真实存在的HTML文件!服务器根本分不清哪些是你要重写的照片ID链接,哪些是真实的HTML文件,自然就没法正常加载后者的内容了。

给你个简单的修复方案,只需要在原规则前加两个条件,让重写只对「不存在的文件/目录」生效:

RewriteEngine On
# 跳过真实存在的文件(比如你的根目录HTML)
RewriteCond %{REQUEST_FILENAME} !-f
# 跳过真实存在的目录
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)\.html?$ /photography/albums/viewphoto.php?id=$1 [QSA,NC,L]

顺便提一句,你原规则里的[^/d]+应该是笔误吧?这个正则会排除所有带字母d的ID,改成[^/]+才能匹配任意不含斜杠的ID字符串,更符合你的需求。

验证步骤:

  • 把修改后的.htaccess保存到根目录
  • 访问根目录的真实HTML文件(比如http://www.example.com/index.html),应该能正常加载内容了
  • 再测试照片重写URL(比如http://www.example.com/C01-A01-P01.html),确认还是能正确跳转到对应的照片页面

内容的提问来源于stack exchange,提问作者Barton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:31:05