我如何让 apache 重定向到 www 子域?

我如何让 apache 重定向到 www 子域?

我有以下内容sites-available

<VirtualHost *:80>
    DocumentRoot /var/www/html/mywrk
    DirectoryIndex index.php
    ServerName www.mydomain.com
   <Directory "/var/www/html/mywrk">
         Options Indexes FollowSymLinks MultiViews
         AllowOverride All
         Order allow,deny
         allow from all
         Require all granted
  </Directory>
  </VirtualHost>

这里可以正常工作,但 mydomain.com(没有 www)不会重定向到 www.mydomain.com

在 apache2 主机中,如何设置非 www 以重定向到 www?我的意思是 mydomain.com 应该重定向到 www.mydomain.com

答案1

1)检查模块重写是否启用:

sudo a2enmod rewrite
sudo service apache2 restart

2)在 Apache 的主配置中,您必须启用如下功能:

/etc/apache2/sites-available/default
<Directory /var/www/html>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
</Directory>

请注意这一行:允许覆盖全部

3)然后,将以下内容放入根目录服务器中名为 .htaccess 的文件中

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

相关内容