.htaccess радирект на sitemap.xml не в корне

S
На сайте с 13.11.2012
Offline
72
1336

У меня сеть сайтов, при обращению к домен, определяется url и выдается контент сформированнsй файлом базы данных, которая находится в папке:

/var/www/ivan/data/www/сам_скрипт/base/конкретный_сайт.ру/base.php

Пожалуйста, помогите настроить .htaccess который лежит в папке

/var/www/ivan/data/www/сам_скрипт/.htaccess

таким образом, чтобы он тянул sitemap.xml из директории

/var/www/ivan/data/www/сам_скрипт/base/конкретный_сайт.ру/sitemap.xml

Я понял, что в .htaccess нужно определить запрашиваемый домен (конкретный_сайт.ру) и перенаправить запрос в нужную папку на сервере, как не знаю, не получается :(

Еще нужно учесть то, что запрос может быть не только

домен.ру/sitemap.xml

будет еще куча карт вида

домен.ру/sitemap2.xml

домен.ру/sitemap3.xml

домен.ру/sitemap4.xml

Помогите, пожалуйста. Спасибо!

S
На сайте с 13.11.2012
Offline
72
#1

RewriteEngine on

RewriteRule ^sitemap\.xml$ /var/www/ivan/data/www/сам_скрипт/base/{HTTP_HOST}/sitemap.xml [L]

Не работает :(

J
На сайте с 20.02.2014
Offline
120
jkm
#2
Smirnof:
RewriteEngine on
RewriteRule ^sitemap\.xml$ /var/www/ivan/data/www/сам_скрипт/base/{HTTP_HOST}/sitemap.xml [L]

Не работает :(

Там нужен адрес относительно корня сайта или относительно той папки, где расположен файл .htaccess https://habrahabr.ru/company/sprinthost/blog/129560/

Т.е. должно быть что-то вроде

RewriteRule ^sitemap\d*\.xml$ base/site.ru/$0 [L]


RewriteEngine on

RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^sitemap\d*\.xml$ base/%1/$0 [L]
S
На сайте с 13.11.2012
Offline
72
#3

jkm заработало, спасибо!

Проверьте, пожалуйста, .htaccess целиком, ничего в нем не противоречит друг-другу?

DirectoryIndex index.php
AddDefaultCharset UTF-8
<ifModule mod_rewrite.c>
RewriteEngine On
# 301 редирект с www на без www
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^sitemap\d*\.xml$ base/%1/$0 [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)?$ index.php?a=$1 [QSA,NC,L]

## Error 404 ##
ErrorDocument 404 /error/
</ifModule>
J
На сайте с 20.02.2014
Offline
120
jkm
#4

Smirnof, там всё нормально.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий