Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mod rewrite 我是否会使用mod_rewrite将谷歌指向正确的国家/地区网站地图?e、 g.domain.com/sitemap.xml和domain.co.uk/sitemap.xml_Mod Rewrite_Dns_Sitemap - Fatal编程技术网

Mod rewrite 我是否会使用mod_rewrite将谷歌指向正确的国家/地区网站地图?e、 g.domain.com/sitemap.xml和domain.co.uk/sitemap.xml

Mod rewrite 我是否会使用mod_rewrite将谷歌指向正确的国家/地区网站地图?e、 g.domain.com/sitemap.xml和domain.co.uk/sitemap.xml,mod-rewrite,dns,sitemap,Mod Rewrite,Dns,Sitemap,我们有一个网站,有两个讲英语的域名相同的内容 在搜索了处理这个问题的最佳方法后,我们选择了谷歌的建议,即使用特定国家的域名——显然,谷歌将根据用户的位置提供正确的域名 不幸的是,我们的CMS只提供一个sitemap.xml文件,所以sitemap中的链接只包含一个特定于国家/地区的域 我们现在已经为每个域(在不同的目录中)创建了一个sitemap.xml文件,但是需要一种基于传入域提供正确站点地图的方法 例如 domain.com/sitemap.xml(.com仅限URL)&domain.co

我们有一个网站,有两个讲英语的域名相同的内容

在搜索了处理这个问题的最佳方法后,我们选择了谷歌的建议,即使用特定国家的域名——显然,谷歌将根据用户的位置提供正确的域名

不幸的是,我们的CMS只提供一个sitemap.xml文件,所以sitemap中的链接只包含一个特定于国家/地区的域

我们现在已经为每个域(在不同的目录中)创建了一个sitemap.xml文件,但是需要一种基于传入域提供正确站点地图的方法

例如

domain.com/sitemap.xml(.com仅限URL)&domain.co.uk/sitemap.xml(.co.uk仅限URL)

这是mod rewrite的工作吗?如果是的话,你会如何设置它

这是我们第一次在CMS之外体验mod rewite,并且发现文档有点混乱。对不起,如果您有任何帮助,我们将不胜感激


干杯

您完全可以为此使用mod_rewrite,并使用HTTP_主机作为条件,例如:

RewriteEngine On

RewriteCond %{HTTP_HOST} domain.com$ [NC]
RewriteRule ^sitemap.xml /sitemapus/sitemap.xml  [L]

RewriteCond %{HTTP_HOST} domain.co.uk$ [NC]
RewriteRule ^sitemap.xml /sitemapuk/sitemap.xml  [L]

这将导致重定向发生在服务器上,因此客户端的浏览器不会被重定向。

实际上,301重定向可能是处理此问题的最佳方法?只需将这个:domain.co.uk/sitemap.xml重定向到这个:domain.co.uk/sitemapuk/sitemap.xml这会更容易吗?使用了这样的重定向,它似乎可以工作:redirect permanent/sitemap.xml/sitemap uk/sitemap.xml