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

如何通过.htaccess禁止访问sitemap.php仅允许访问sitemap.xml

实现方案

你可以在现有.htaccess规则的基础上新增一条基于原始请求的重写规则,只拦截外部直接访问sitemap.php的请求,不会影响sitemap.xml到sitemap.php的内部重写逻辑。

完整配置如下

RewriteOptions InheritBefore
RewriteEngine On
# 原有规则:将sitemap.xml请求内部转发到sitemap.php
RewriteRule ^sitemap.xml$ sitemap.php [L]
# 新增规则:禁止外部直接访问sitemap.php
RewriteCond %{THE_REQUEST} /sitemap\.php [NC]
RewriteRule ^sitemap\.php$ - [F,L]

规则说明

  • %{THE_REQUEST} 是Apache内置的原始请求变量,存储用户浏览器发起的原始请求头内容,内部重写操作不会修改这个值,因此只有用户主动请求sitemap.php时才会触发拦截
  • [NC] 标识匹配路径时不区分大小写
  • [F] 标识命中规则后返回403 Forbidden禁止访问状态码
  • [L] 标识命中该规则后终止后续所有重写规则执行

生效后效果

  • 访问 domain.com/news/sitemap.xml 完全正常,和之前的效果一致
  • 直接访问 domain.com/news/sitemap.php 会返回403错误,不会泄露任何站点敏感信息

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 10:09:03