Используйте htaccess для перезаписи файлов поддоменов в папку - PullRequest
0 голосов
/ 14 апреля 2011

Мне нужно переписать файлы на поддомене в файлы, хранящиеся в папке с именем поддомена. Только файлы, которые начинаются с sitemap, должны быть переписаны. Итак, если запросы выглядят так:

http://demo.domain.com/sitemap.xml
http://demo.domain.com/sitemap_more.xml
http://test.domain.com/sitemap.xml
http://test.domain.com/sitemap_alpha.xml

Это следует переписать в файлы:

/content/sitemaps/demo/sitemap.xml
/content/sitemaps/demo/sitemap_more.xml
/content/sitemaps/test/sitemap.xml
/content/sitemaps/test/sitemap_alpha.xml

Таким образом, имя субдомена используется в качестве папки при перезаписи на путь. Это должно быть переписывание НЕ перенаправление. Также было бы хорошо иметь правила, которые будут работать с любым доменом без необходимости каждый раз менять имя домена.

1 Ответ

0 голосов
/ 14 апреля 2011

Вы можете сопоставить поддомен с условием, а затем переписать его с помощью правила:

RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com
RewriteRule ^(.*)$ http://domain.com/content/sitemaps/%1/$1 [L]

Может быть, вы хотите добавить фильтр на .xml

Добавить:

RewriteCond %{REQUEST_FILENAME} \.xml

Редактировать

Для файла, начинающегося с sitemap:

RewriteCond %{REQUEST_FILENAME} sitemap.*\..+$

Это будет соответствовать любой строке, заканчивающейся картой сайта. и конец. => это имя файла, а не внутреннее совпадение каталога.

...