我正在尝试让网站在不添加“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
- 这就足够了。
这必须有效,而且一定会有效。唯一不能这样做的原因是站点配置,它可能会查看您正在访问的域。这是唯一可能的事情。