我目前正在开发一个动态RSS源,它将自动从MySQL数据库中提取文章。代码在
之下<?php
//Include the post retreival script
require_once '../phpScripts/rss_db_setup.php';
//Set the content type
header('Content-type: text/xml');
//Set up the RSS feed information
echo '<?xml version="1.0" encoding="ISO-8859-1"?>'.
'<rss version="2.0">'.
'<channel>'.
'<title>Company Name</title>'.
'<link>http://www.company.ca</link>'.
'<description></description>'.
'<category></category>';
//Retreive posts from the database
$rssData = new rssData();
echo $rssData->generateFeed($dbcon);
//Close the feed
echo '</channel></rss>';
?>
我想知道这个文件是应该保存为.xml还是.php?我已将以下行添加到我的.htaccess文件中,但并不完全理解它是如何工作的
AddType application/x-httpd-php .xml
这是一种正确的方法吗?或者我应该使用另一个htaccess函数,如modRewrite,还是每天使用CRON作业生成一个新的.xml?
答案 0 :(得分:7)
RSS不需要扩展名。它不关心网址是/feed.php
/feed.xml
还是/feed/
。它不像你自己的硬盘上的文件。 HTTP发送内容类型标头以指定它是什么类型的文件。
如果在服务器上的其他位置使用静态xml文件,则使用AddType可能会出现问题。 PHP会在每个xml文件的开头部分阻塞,给出一个很好的错误消息,导致xml无效。
答案 1 :(得分:1)
使用AddType application/x-httpd-php .xml
行,Apache将能够提供包含一些PHP代码的XML文件。因此,您可以将此文件另存为.xml,将解释PHP代码
也许您应该添加缓存管理器,以避免在没有新文章时生成相同的Feed?