对于动态 URL,由于您在 Google App Engine 上使用 Java,因此您唯一的解决方案是创建一个将创建此响应的 servlet。
您可以使用许多库来确保您的 XML 正确无误,但可以帮助您入门的最简单示例如下所示:
public class SitemapsServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
resp.setContentType("application/xml");
resp.getWriter().println("<?xml version="1.0" encoding="UTF-8"?>");
resp.getWriter().println("<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">");
resp.getWriter().println(" <url>");
resp.getWriter().println(" <loc>http://www.example.com/?id=who</loc>");
resp.getWriter().println(" <lastmod>2009-09-22</lastmod>");
resp.getWriter().println(" <changefreq>monthly</changefreq>");
resp.getWriter().println(" <priority>0.8</priority>");
resp.getWriter().println(" </url>");
resp.getWriter().println("</urlset>");
}
}
对于其余的问题,请确保您了解站点地图的工作原理以及它们的用途。