我有一个旧的数据服务器(data.example.com) 已被 NAS 取代,NAS 共享现已安装在 Web 服务器上 (www.example.com)。
因此现在旧服务器已被删除,我已经在我们的 DNS 上创建了一个“CNAME”来指向我们的网络服务器并且由于我们的路径在旧数据服务器和 Web 服务器上是相同的,因此页面链接正确,即“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.
<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 [email protected]
# 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就像我希望的那样。
答案1
<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
您需要重新启动网络服务器才能使更改生效。