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

求助:站点地图抓取无效URL,需优化文章页Rewrite规则

问题:站点地图生成器抓取大量无效URL,Rewrite规则需优化

站点地图生成器抓取了约64个不存在的URL。原本仅希望将形如/article.php?id=#的页面重写为article/#/article-title-here格式,但生成器却生成了诸如/article/article.php/index.php或/article/index.php这类无效URL。

当前的.htaccess规则:

RewriteEngine On

# Redirect HTTP requests to HTTPS
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

# Redirect old article URLs to new URLs
RewriteCond %{QUERY_STRING} ^id=([0-9]+)$
RewriteRule ^article\.php$ /article/%1/%{QUERY_STRING}? [R=301,L]

# Rewrite article URLs
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^article/([0-9]+)/([^/]+)/?$ article.php?id=$1&title=$2 [L,QSA]

解决方案

1. 修复旧URL重定向规则的错误

原重定向规则错误地将查询字符串追加到新路径中,会生成类似/article/123/id=123的路径,被爬虫误判为有效路径。修改规则如下:

# Redirect old article URLs to new URLs
RewriteCond %{QUERY_STRING} ^id=([0-9]+)$
RewriteRule ^article\.php$ /article/%1/ [R=301,L]

这样旧URL会直接跳转到规范的/article/数字/路径,避免多余的查询字符串干扰爬虫。

2. 阻止无效路径的访问

在.htaccess中添加规则,仅允许合法的文章URL格式,其余返回404,从源头阻止爬虫抓取无效路径:

# 仅允许合法的文章URL格式,其余返回404
RewriteCond %{REQUEST_URI} ^/article/
RewriteRule !^article/[0-9]+/[^/]+/?$ - [R=404,L]

这条规则会对所有以/article/开头但不符合article/数字/标题/格式的请求返回404,爬虫抓取到404后会将这些URL从站点地图中排除。

3. 手动生成站点地图(最可靠方案)

既然你的网站只有5个主页面和7个文章页面,手动生成站点地图是最稳妥的方式,完全避免自动抓取的误差:

  • 创建sitemap.xml文件,放在网站根目录,内容示例:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <!-- 主页面 -->
  <url><loc>https://你的域名/</loc></url>
  <url><loc>https://你的域名/about/</loc></url>
  <!-- 补充剩余3个主页面 -->
  
  <!-- 文章页面 -->
  <url><loc>https://你的域名/article/1/文章标题1/</loc></url>
  <url><loc>https://你的域名/article/2/文章标题2/</loc></url>
  <!-- 补充剩余5个文章页面 -->
</urlset>
  • 在robots.txt中添加站点地图地址,引导爬虫直接读取:
Sitemap: https://你的域名/sitemap.xml

4. 清理缓存并提交新站点地图

由于之前的301重定向规则可能已被爬虫缓存,修改规则后可通过搜索引擎管理工具提交新的站点地图,并请求重新抓取,确保爬虫更新URL数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 07:43:20