使用PHP创建XML站点地图
|
我正在尝试创建一个将自动更新的站点地图.我已经做了类似于我的RSS提要的内容,但是这个网站地图拒绝工作.你可以在 http://designdeluge.com/sitemap.xml看到它,我认为主要的问题是它不能识别PHP代码.这里是完整的来源: <?php
include 'includes/connection.php';
header("Content-type: text/xml");
echo '<?xml version="1.0" encoding="UTF-8" ?>';
?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd">
<url>
<loc>http://designdeluge.com/</loc>
<lastmod>2010-04-20</lastmod>
<changefreq>weekly</changefreq>
<priority>1.00</priority>
</url>
<url>
<loc>http://designdeluge.com/about.php</loc>
<lastmod>2010-04-20</lastmod>
<changefreq>never</changefreq>
<priority>0.5</priority>
</url>
<?php
$entries = mysql_query("SELECT * FROM Entries");
while($row = mysql_fetch_assoc($entries)) {
$title = stripslashes($row['title']);
$date = date("Y-m-d",strtotime($row['timestamp']));
echo "
<url>
<loc>http://designdeluge.com/".$title."</loc>
<lastmod>".$date."</lastmod>
<changefreq>never</changefreq>
<priority>0.8</priority>
</url>";
} ?>
</urlset>
问题是动态网址(例如从数据库中提取的URL)未生成,并且站点地图将无法验证.谢谢! 编辑:现在,我只是试图让代码本身工作.我在本地测试服务器上设置为PHP文件.上面的代码正在被使用.现在,屏幕上或源文件中都没有显示任何内容.我在想我做了一个语法错误,但我找不到任何东西.任何和所有的帮助是赞赏! 编辑2:好的,我把它整理出来了.显然,我不得不用PHP回应xml声明.最后的代码贴在上面.谢谢你的帮助! 如果您查看生成的sitemap.xml(例如,在浏览器中使用视图源),您将看到:<?php header('Content-type: text/xml'); ?>
<?xml version="1.0" encoding="UTF-8" ?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84" xmlns:xsi="http:/
...
该输出中存在的<?php表示不会解释PHP代码. 至少两个可能的解决方案: >重新配置您的服务器,所以XML文件通过PHP解释器(可能不是一个好主意:这可能会导致现有文件的问题!) 我会添加另一个解决方案: 有一个sitemap.php文件,其中包含代码 这样,您将会有sitemap.xml网址,这是很好的(必需的),但是由于代码将在sitemap.php中,所以会被解释. 见Apache’s (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
