解决

解决

在我的服务器上,当我访问不带 www 的页面时,它会正确加载。但如果我尝试使用 www,则会收到 cgi-sys 错误。

我正在使用 CentOS 版本 6.8 Apache/2.2.31

我相信 apache 中已启用“rewrite_module”。

   # httpd -M | grep rew
   Syntax OK
   rewrite_module (static)

它没有显示在 phpinfo() 中。这有关系吗?

我的httpd.conf:

<VirtualHost IP:80>
    ServerName example.com
    ServerAlias  example.com
    DocumentRoot /path/to/folder

    <Directory "/path/to/folder">
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
    </Directory>

我在 htaccess 中设置了此项:

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

我已经检查过 htaccess 是否被读取:我添加了一个错误的行,然后发现出现了错误 500。

www 仍然不起作用。有什么想法吗?

解决

这是浏览器缓存问题。清除缓存和 cookies 即可解决

答案1

您应该更新 ServerAlias 值以包含要使用的每个别名。只需用空格分隔每个值即可:

ServerAlias  www.example.com example.com

相关内容