使用sitemap.xml文件将url中的sitemap.xml文件重写为子文件

时间:2013-08-23 13:16:17

标签: regex apache .htaccess mod-rewrite

我应该写哪个rewriterule?我有很多sitemap.xml文件一个接一个地放在文件夹中

结构如下:

/sitemaps/moscow/sitemap.xml
/sitemaps/warsaw/sitemap.xml
/sitemaps/paris/sitemap.xml

依旧......

我想通过下一个网址获取它们:

moscow.mydomain.com/sitemap.xml
warsaw.mydomain.com/sitemap.xml
paris.mydomain.com/sitemap.xml

...

所以我需要从http://moscow.mydomain.com/sitemap.xmlhttp://moscow.mydomain.com/sitemap.xml

的重定向

我应该在.htaccess文件中写哪个重写文件?

更新

谢谢,但我找到了正确的解决方案,现在是:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^([^.]+)\.mydomain\.com$
RewriteRule ^sitemap.xml$ sitemaps/%1/sitemap.xml [L]  

严格按照我的意愿行事!

1 个答案:

答案 0 :(得分:0)

通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在.htaccess目录下的DOCUMENT_ROOT中:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^sitemaps/([^/]+)/(sitemap\.xml)$ http://$1.mydomain.com/$2 [L,NC,R=301]