将 abc.example.com 重定向到 example.com/abc

将 abc.example.com 重定向到 example.com/abc

example.com我有一个具有以下 DNS 记录的域:

Hostname           Type     Value
example.com        A        93.184.216.34
help.example.com   A        93.184.216.34
www.example.com    A        93.184.216.34

该文件/etc/httpd/sites-available/example.com.conf是:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName example.com
    ServerAlias www.example.com help.example.com
    DocumentRoot /var/www/html/example.com/_site
</VirtualHost>

目前和都help.example.com重定向www.example.comexample.com

我的问题是:如何重定向help.example.comexample.com/help?谢谢。

答案1

目前和都help.example.com重定向www.example.comexample.com

不,它们都是由您的服务器提供的。从技术上讲,不涉及重定向。

如何将 help.example.com 重定向到 example.com/help?

mod_rewrite在您的服务器中启用a2enmod rewrite(它可能已经启用),然后将其添加到您的VirtualHost

RewriteEngine On
RewriteCond %{HTTP_HOST}    ^help\.example\.com$ [NC]
RewriteRule (.*) http://example.com/help$1 [R=301,L]

这会将所有请求重定向至,help.example.com并永久重定向(301)至http://example.com/help

例子:

http://help.example.com     -> http://example.com/help
http://help.example.com/foo -> http://example.com/help/foo

编辑配置后,重新加载或重新启动服务器。

相关内容