GoDaddy+cPanel环境下,如何用Python脚本生成并提供RSS Feed?
问题原因
你之前的实现逻辑有误:RSS阅读器请求mysite.com/<keyword>时,拿到的是包含JavaScript的HTML页面,而阅读器不会执行页面中的JS代码,只会解析请求返回的原始内容,因此无法识别动态加载的XML。必须让目标URL直接返回纯RSS格式的XML内容。
正确实现步骤(GoDaddy + cPanel环境)
1. 配置URL重写(.htaccess)
通过mod_rewrite将/keyword形式的请求转发到Python脚本,并传递keyword参数:
在网站根目录(public_html)的.htaccess文件中添加以下规则:
RewriteEngine On # 排除真实存在的文件和目录 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # 将/xxx转发到script.py?keyword=xxx RewriteRule ^([a-zA-Z0-9_-]+)$ /script.py?keyword=$1 [L,QSA]
2. 修改Python脚本(script.py)
让脚本直接生成RSS XML,并设置正确的HTTP响应头,确保输出被识别为RSS格式:
#!/usr/bin/env python3 import cgi # 获取URL传递的keyword参数 form = cgi.FieldStorage() keyword = form.getvalue('keyword', '默认主题') # 输出RSS专属响应头(必须设置,否则阅读器无法识别) print("Content-Type: application/rss+xml; charset=utf-8") print() # 空行分隔响应头和内容 # 生成RSS XML内容(替换为你的实际业务逻辑) rss_output = f'''<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0"> <channel> <title>{keyword} 订阅源</title> <link>https://mysite.com/{keyword}</link> <description>关于{keyword}的最新内容</description> <item> <title>示例文章:{keyword}入门指南</title> <link>https://mysite.com/guides/{keyword}</link> <description>这是一篇关于{keyword}的入门教程,包含核心知识点</description> <pubDate>Thu, 01 Jan 2025 12:00:00 GMT</pubDate> </item> </channel> </rss>''' # 输出XML内容 print(rss_output)
3. 配置脚本权限与cPanel环境
- 将
script.py上传到网站根目录(public_html) - 在cPanel文件管理器中,右键脚本文件,设置权限为
755 - 确认cPanel已启用Python CGI支持:若遇到执行问题,可在cPanel的「Python Selector」中选择对应版本,并确保脚本的shebang(第一行
#!/usr/bin/env python3)与所选版本匹配
4. 测试验证
直接访问mysite.com/你的关键词,页面应显示纯XML格式的RSS内容;将该URL添加到RSS阅读器,即可正常识别订阅。
内容的提问来源于stack exchange,提问作者Ben Fishbein
相关产品推荐
相关产品推荐

