Apache2 - ServerAlias 不起作用

Apache2 - ServerAlias 不起作用

我正在尝试让网站在不添加“www”的情况下正常运行。
www.roeldevries.me工作正常,但是roeldevries.me给出了另一个结果。

有人能帮我吗?

/etc/apache2/sites-available roeldevries.me 配置:

<VirtualHost *:80>
 ServerName roeldevries.me
 ServerAlias www.roeldevries.me
 DocumentRoot /var/www/roeldevries.me/public_html
 <Directory />
    Options FollowSymLinks
    AllowOverride None
 </Directory>
 <Directory /var/www/roeldevries.me/public_html>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
 </Directory>
 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
 <Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
 </Directory>
 ErrorLog ${APACHE_LOG_DIR}/error.log
 LogLevel warn
 CustomLog ${APACHE_LOG_DIR}/access.log combined
 Alias /doc/ "/usr/share/doc/"
 <Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
 </Directory>
</VirtualHost>

/etc/ 主机配置

127.0.1.1   localhost
127.0.1.1   roeldevries.me www.roeldevries.me

::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

答案1

  • 符号链接 sites-available 到 sites-enabled a2ensite roeldevries.me
  • 测试配置 apachectl -t
  • 然后 apachectl restart

如果 apachectl -t 出现错误,请发布。

还显示 sites-enabled 的内容ls /etc/apache2/sites-enabled/ ,禁用a2dissite任何未使用的额外站点。

就我个人而言,我不会对我的根域使用与我的真实域相同的 IP,例如。

jacobdevans.com IN A 198.251.86.133任播 301

www.jacobdevans.com IN NS coco.ns.cloudflare.com. www.jacobdevans.com IN NS guy.ns.cloudflare.com.

答案2

完全没有必要在 hosts 文件中将域指定为 127.0.0.1 或 127.0.1.1 - 将其删除并使用ServerName localhost.localdomain。你已经得到了VirtualHost *:80- 这就足够了。

这必须有效,而且一定会有效。唯一不能这样做的原因是站点配置,它可能会查看您正在访问的域。这是唯一可能的事情。

相关内容