Какое расширение файла я должен использовать для динамического RSS - PullRequest
2 голосов
/ 03 ноября 2011

В настоящее время я разрабатываю динамический канал 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-файла каждый день или около того?

Ответы [ 2 ]

7 голосов
/ 04 ноября 2011

RSS не нуждается в расширении.Не имеет значения, является ли URL-адрес /feed.php /feed.xml или даже /feed/.Это не похоже на файлы на вашем жестком диске.HTTP отправляет заголовок типа контента, чтобы указать, какой это тип файла.

Однако (официально) ему нужен правильный заголовок типа контента.Вы указываете текст / xml в своем коде, который официально должен быть application / rss + xml.

Использование AddType может быть проблемой, если вы используете статические xml-файлы в другом месте на сервере.PHP подавлял часть в начале каждого XML-файла, выдавая красивое сообщение об ошибке, приводящее к неверному XML.

1 голос
/ 04 ноября 2011

С помощью строки AddType application/x-httpd-php .xml Apache сможет обслуживать XML-файлы, содержащие некоторый код PHP внутри. Таким образом, вы можете сохранить этот файл в формате .xml, код PHP будет интерпретирован

Возможно, вам следует добавить менеджер кеша, чтобы избежать генерации того же фида, когда нет новой статьи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...