1

私は現在、実行時にXMLファイルを出力するPHPスクリプトを持っています(ただし、feed.phpではなくfeed.xmlとして)これを.htaccessに追加するように言われ、修正する必要があります:

AddType application/x-httpd-php .xml

ただし、何らかの理由で機能していません。

私が理想的にスクリプトに実行させたいこと - 実行時に、コンテンツをphpページに出力するだけでなく、そのコンテンツの出力を含むfeed.xmlファイルを生成することです。

これが私のコードです:

<?PHP
 include("../config.php");
 #// Timetable Clearup Variabls
$yesterday = strtotime('yesterday');
$yesterdow = date('l',$yesterday);
$order = "SELECT * FROM timetable WHERE day = '$yesterdow' ORDER BY time";
$result = mysql_query($order);
$yesterdayd = date('F jS, Y', time()-86400);

    //SET XML HEADER
    header('Content-type: text/xml');

    //CONSTRUCT RSS FEED HEADERS
    $output = '<rss version="2.0">';
    $output .= '<channel>';
    $output .= "<title>Timetable - {$yesterdayd} </title>";
    $output .= '<description>Timetable.</description>';
    $output .= '<link>http://site.com/</link>';
 ###   $output .= '<copyright>Your copyright details</copyright>';
 while ($row = mysql_fetch_array($result)) {
    //BODY OF RSS FEED
   $output .= '<item>';
     $output .= "<description><td>" . htmlspecialchars($row['username']) . "</td><td>" . htmlspecialchars($row['time']) . "</td></description>";
   $output .= '</item> ';
 }
    //CLOSE RSS FEED
   $output .= '</channel>';
   $output .= '</rss>';

    //SEND COMPLETE RSS FEED TO BROWSER
    echo($output);

?>
4

1 に答える 1

3

PHPコンパイラを使用して処理するために.htaccessに.xmlを追加しないことをお勧めします。むしろ、mod_rewriteを使用して、.xmlファイルへのリクエストをphpスクリプトにリダイレクトします。

例えば:

RewriteEngine On
RewriteRule ^(.*)\.xml$ /rss_feed.php [L,QSA]
于 2012-04-11T20:56:32.637 に答える