我在发送非常旧的 RSS 源时遇到 http-410 问题。功能上,这种情况可能发生在
- 非常旧的 RSS 源,内容不再更新/主题无法移动到另一个源
- 从第三方网站迁移到我们的网站,RSS 源不再受支持
我在我的网站配置中尝试了几件事,如下所示;
<VirtualHost *:80>
DocumentRoot /opt/tomcat/webapps/ROOT/
ErrorDocument 500 /error/static/error-500.html
ErrorDocument 503 /error/static/error-500.html
ErrorDocument 404 /error/static/rss/error-404.html
ErrorDocument 410 /error/static/rss/error-410.html
# When error pages need to be served by apache,
# exclude the files to serve as below (in comment)
SetEnvIf Request_URI "/error/static/*" no-jk
# force all files to be image/gif:
<Location *.rss>
#<Location *>
#ForceType application/rss+xml
</Location>
#AddType application/rss+xml .rss
#AddType application/rss+xml .xml
#AddType application/rss+xml .html
JkMount /* rss;use_server_errors=402
# JkMount /* rss
RewriteEngine on
JkMount /news.rss rss
JkMount /documenten-en-publicaties.rss rss
RewriteEngine on
RewriteRule ^/news.rss$ - [NC,T=application/rss+xml,G,L]
RewriteRule ^/documenten-en-publicaties.rss$ - [NC,G,L]
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
ErrorLog "|/usr/bin/logger -s -p local3.err -t 'Apache'"
CustomLog "|/usr/bin/logger -s -p local2.info -t 'Apache'" combined
ServerSignature Off
</VirtualHost>
期望的最终结果应该是在 /news.rss 和 /documenten-en-publicaties.rss 上出现 410 页面,错误页面中的内容类型为“application/rss+xml”
答案1
经过漫长的道路,我找到了解决方案。最后我遇到了几个问题,但为了解决这个问题,我将错误文档更改为 xml,并添加了 AddType
ErrorDocument 410 /error/static/rss/error-410.xml
并添加以下类型
AddType application/rss+xml .xml
这已修复 410 错误文档的内容类型。