Redirect

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

  • July 28, 2019

我有一個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 admin@mydomain.com
   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?謝謝。

目前兩者都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

編輯配置後,重新載入或重新啟動伺服器。

引用自:https://serverfault.com/questions/976988