У меня старый сервер данных (data.example.com), который был заменен NAS, и общие ресурсы NAS теперь монтируются на веб-сервере (www.example.com).
Итак, теперь старый сервер удален и я сделал "CNAME" в нашем DNS, чтобы указать на наш веб-сервер и поскольку наши пути совпадают на старом сервере данных и на веб-сервере, страницы связываются правильно, т.е. "data.example.com/datafolder1" перенаправляет на "www.example.com/datafolder1", как и должно.
Но как я могу сделать так, чтобы data.example.com перенаправлялся на www.example.com/dir/page.html что есть информация о том, что старый сервер был удален и ссылки на актуальные папки данных?
Вот эти конфиги:
Bind9: example.hosts
data.example.com. IN CNAME www.example.com.
Apache: www.example.com.conf
<VirtualHost *:80>
ServerName data.example.com
# 301 --- data.example.com => www.example.com/Info/dataserver.html
RewriteRule ^data\.example\.com$ /www.example.com/Info/dataserver.html? [L,R=301]
LogLevel warn rewrite:trace3
ErrorLog /var/log/apache2/error-data.example.com.log
CustomLog /var/log/apache2/access-data.example.com.log combined
</VirtualHost>
<VirtualHost serverip:80>
ServerName www.example.com
ServerAlias example.com
ServerAdmin webmaster@example.com
# Redirecting all http > https
Redirect permanent / https://www.example.com/
LogLevel error rewrite:trace3
ErrorLog /var/log/apache2/error-example.com.log
CustomLog /var/log/apache2/access-example.com.log combined
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.com
ServerAlias example.com
DocumentRoot /var/www/www.example.com/htdocs/
SSLEngine on
etc........
В текущей конфигурации data.example.com перенаправляется на www.example.com домашняя страница не та www.example.com/dir/page.html как бы я этого хотел.
<VirtualHost *:80> ServerName data.example.com # 301 --- data.example.com => www.example.com/Info/dataserver.html RewriteRule ^data\.example\.com$ /www.example.com/Info/dataserver.html? [L,R=301]
Предположительно это перенаправить ваша "попытка" перенаправить http://data.example.com/
к http://www.example.com/dir/page.html
- согласно тексту вашего вопроса (хотя, предположительно, это должно быть https://
).
На самом деле это перенаправление - перенаправление http://data.example.com/data.example.com
к http://data.example.com/www.example.com/Info/dataserver.html
- возможно, это не твое намерение.
Перенаправить http://data.example.com/
(только корень документа) в https://www.example.com/dir/page.html
вы должны изменить выше RewriteRule
на следующее (здесь нет необходимости в mod_rewrite):
RedirectMatch 301 ^/$ https://www.example.com/dir/page.html
Перенаправить http://data.example.com/<anything>
затем измените приведенное выше, чтобы читать:
RedirectMatch 301 ^ https://www.example.com/dir/page.html
Вам необходимо перезапустить веб-сервер, чтобы изменения вступили в силу.