我有以下XML站点地图结构:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url><loc>http://www.example.com/</loc></url>
</urlset>
如何包含具有以下内容的“<?php include ("assets/includes/menu.inc"); ?>
”:
<li><a href="index.php">Home</a></li>
<li class="subMenu"><a href="gallery.php">Gallery</a>
<ul>
<li><a href="page1.php">Page</a></li>
<li><a href="page2.php">Page2t</a></li>
</ul>
</li>
<li><a href="contact.php">Contact</a></li>
我想做什么?我正在尝试自动生成/更新我的站点地图,所以我想将我的菜单“主要链接”包含在XML中,然后使用CSS“在选择器之前和之后“在每个<url><loc>
和<a></a>
之后添加标记</url></loc>
,创建:<url><loc>http://www.example.com/</loc></url>
这就是站点地图基本上构建的。
关于如何使这项工作的任何想法?
答案 0 :(得分:0)
您必须在PHP中包含XML,而不是相反。
您的PHP文件必须具有XML标头内容类型:
header ("Content-Type:text/xml");
然后你在php文件中显示xml,如下所示:
echo '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url><loc>http://www.example.com/</loc></url>
</urlset>';
请注意,您不能只在网站地图中包含html。您必须使用特定标记格式化链接,这可以通过机器人理解。
您的网站地图网址将类似于http://www.mysite.com/sitemap.php 如果站点地图的扩展对您来说非常重要,您可以获得带有URL重写的.xml。 您还可以在robots.txt中指定站点地图的网址。
Sitemap: http://www.example.com/sitemap.php
在此网站上查看更多示例: http://www.sitemaps.org/protocol.html#submit_robots
我不确定您尝试使用CSS实现什么,因为要显示sitemap,但通常使用XSL设置xml样式
答案 1 :(得分:0)
服务器将.xml .html .css文件作为带有标记的简单文本读取,为了使用php你需要有一个.php(使用默认设置,你可以修改apache来读取每个文件作为php如果你想要 - 但这没有任何意义)并且说得好,如果你想要任何暗示php的东西,你需要制作一个生成你需要的文件的php文件,而不是相反。
一个文件具有.php扩展名的事实告诉服务器他必须将该文件解析为php,因此解析器启动并且只运行下面的数据,而其他所有内容都保持不变。