我正在尝试为我的多线程magento网站创建一个站点地图。因此,每个商店视图都有自己的站点地图。因此我做了
站点地图/ store_en / sitemap.xml的
站点地图/ store_de / sitemap.xml的
站点地图/ store_nl / sitemap.xml的
我想要实现的是根据mydomain.nl/sitemap.xml的请求重定向到mydomain.nl/sitemap/store_nl/sitemap.xml
我已经输入了我的htaccess文件。但这并不奏效。谁能看到我做错了什么?
##rewrite rule for de sitemaps
RewriteCond %{HTTP_HOST} ^.*mydomain.nl$
RewriteRule ^sitemap.xml$ /sitemap/store_nl/sitemap.xml [NC]
我有另一个重写规则。我不知道它是否有任何影响......
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteCond %{REQUEST_URI} !(.*)\.(html|shtml|php)$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [L,R=301]
提前致谢!
答案 0 :(得分:0)
从上到下读取并处理mod_rewrite的指令。在您的情况下,您在顶部有重定向。此规则匹配(sitemap.xml不是文件或目录,不以斜杠,html,shtml或php结尾)。您向其添加一个额外的斜杠,并重定向请求。
现在有/sitemap.xml/
的新请求。第一个规则不匹配(以斜杠结尾),第二个规则不匹配(请求不以xml
结尾,而是以xml/
结束。您提供404错误。
切换规则时,网址(/sitemap.xml
)与第一条规则匹配,并匹配。它现在被重写了。在第二次传递时,第一个规则不匹配,第二个规则不匹配(有效文件)。