URL使用Joomla和Xmap重写sitemap.xml

时间:2013-04-24 22:35:29

标签: apache mod-rewrite joomla sitemap

我正在使用Xmap为我的Joomla网站创建XML站点地图。我可以通过转到index.php来访问站点地图吗?选项= com_xmap& view = xml& tmpl = component& id = 1

我想使用Apache的URL重写来改为通过“sitemap.xml”提供,所以我尝试在.htaccess中使用此代码:

RewriteEngine On
RewriteRule ^sitemap\.xml$ index.php?option=com_xmap&view=xml&tmpl=component&id=1 [L]

然而,这给了我一条错误信息:

  

错误500 - 未找到视图[名称,类型,前缀]:xml,xml,xmapView

我需要做些什么来实现这个目标?

(如果它有所不同,该站点是从子目录运行的,而不是域的根目录)

3 个答案:

答案 0 :(得分:2)

我猜你在Joomla全局配置中使用了URL后缀。如果是这种情况,请将以下代码添加到.htaccess文件中:

RewriteCond %{REQUEST_URI} ^/sitemap.xml

RewriteRule .* /index.php?option=com_xmap&id=1&view=xml&format=html [L]

答案 1 :(得分:1)

您忘记了QSA标记:

RewriteEngine On
RewriteRule ^sitemap\.xml$ index.php?option=com_xmap&view=xml&tmpl=component&id=1 [QSA,L]

答案 2 :(得分:1)

对于记录,另一种在不使用Rewrite的情况下完成相同结果的方法是在站点的根目录中创建一个sitemap.xml文件,其中包含以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
  <loc>http://www.domain.com/index.php?option=com_xmap&amp;view=xml&amp;tmpl=component&amp;id=1</loc>
</sitemap>

</sitemapindex>

<loc> </loc>行内部内容的细节因站点而异,从后端抓取&gt;组件&gt; Xmap&gt; XML站点地图链接

古德勒克!