当我像这样输入我的域名时
www.domain.com
一切正常。但是当我像这样输入时
domain.com
我得到了“成功了!”页面。我是一个完全的 Apache 新手,所以我不太清楚这里出了什么问题。
答案1
传统解决方案:在httpd配置中找到:
ServerName www.domain.com
并添加:
ServerAlias domain.com
domain.com
但是,这将为您提供一个在和上响应相同内容的服务器www.domain.com
。通常认为只有一个规范主机名是更好的选择(尤其是从 SEO 角度而言)。为此,请为重定向添加一个新的虚拟服务器,而不是别名。
<VirtualHost *:80>
ServerName domain.com
Redirect permanent / http://www.domain.com/
</VirtualHost>
答案2
检查mod_alias在您的 apache 配置文件中,确保正则表达式对于重定向是正确的。
答案3
正如其他人所说的,这与 Apache 配置有关。
只需将 ServerAlias 添加到虚拟主机的 apache 配置中即可。我认为创建另一个虚拟主机并让其为您重定向并不是一个好的做法。
将所有内容导向其中一个或另一个是良好的 SEO 做法,我建议在你的配置文件或 .htaccess 中使用它
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
答案4
我也遇到了这个问题并找到了解决方案这里。
基本上,升级后,Apache 在 中放置了一个符号链接/etc/apache2/sites-available
。删除 和 之间的所有内容(包括)<VirtualHost *:80>
,<VirtualHost>
一切又恢复正常了。