【发布时间】:2022-09-23 16:28:26
【问题描述】:
也许有人可以帮助我。 我的 web.config 中有两条规则,一条用于pre-render,一条用于 Vue。 我把它们叠成这样:
<rules>
<rule name=\"prerender.io\" stopProcessing=\"true\">
<match url=\"(\\.js|\\.json|\\.css|\\.xml|\\.less|\\.png|\\.jpg|\\.jpeg|\\.gif|\\.pdf|\\.doc|\\.txt|\\.ico|\\.rss|\\.zip|\\.mp3|\\.rar|\\.exe|\\.wmv|\\.doc|\\.avi|\\.ppt|\\.mpg|\\.mpeg|\\.tif|\\.wav|\\.mov|\\.psd|\\.ai|\\.xls|\\.mp4|\\.m4a|\\.swf|\\.dat|\\.dmg|\\.iso|\\.flv|\\.m4v|\\.torrent|\\.ttf|\\.woff|\\.svg)\" negate=\"true\" />
<conditions logicalGrouping=\"MatchAny\">
<add input=\"{HTTP_USER_AGENT}\" pattern=\"googlebot|bingbot|yandex|baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|quora\\ link\\ preview|showyoubot|outbrain|pinterest\\/0\\.|pinterestbot|slackbot|vkShare|W3C_Validator|whatsapp\" />
<add input=\"{QUERY_STRING}\" pattern=\"_escaped_fragment_\" />
</conditions>
<serverVariables>
<set name=\"HTTP_X_PRERENDER_TOKEN\" value=\"<removed>\" />
</serverVariables>
<action type=\"Rewrite\" url=\"https://service.prerender.io/https://{HTTP_HOST}{REQUEST_URI}\" appendQueryString=\"false\" logRewrittenUrl=\"true\" />
</rule>
<rule name=\"Vue\" stopProcessing=\"true\">
<match url=\".*\" />
<conditions logicalGrouping=\"MatchAll\">
<add input=\"{REQUEST_URI}\" pattern=\"^/api/.*\" negate=\"true\" />
<add input=\"{REQUEST_FILENAME}\" matchType=\"IsFile\" negate=\"true\" />
<add input=\"{REQUEST_FILENAME}\" matchType=\"IsDirectory\" negate=\"true\" />
</conditions>
<action type=\"Rewrite\" url=\"/\" />
</rule>
</rules>
问题是,当 googlebot 尝试访问我的网站时,大多数时候它会返回 URL 重写错误 500。如果我从 prerender 规则中删除 googlebot,它将停止抛出重写错误,这让我相信这个问题符合这条规则,但他们的支持团队告诉我不是。
谁能看到我的规则有任何明显的问题?或者知道我错过了什么?
-
错误日志中是否有任何消息?通常 500 错误在那里有更多的调试信息。我在想添加 Googlebot 会使模式太长或其他什么。
标签: url-rewriting googlebot prerender