【问题标题】:redirect from non-www domain name to www using virtualhost not working使用虚拟主机从非 www 域名重定向到 www 不起作用
【发布时间】:2014-01-08 19:46:52
【问题描述】:

我在将我的 http://domain.co.uk 重定向到 http://www.domain.co.uk 时遇到问题。我对使用 apache 和 linux 很陌生,所以这就是我到目前为止所做的。希望有一个可以轻松修复的明显错误。

在尝试使重定向工作时,我发现一些教程说我应该通过虚拟主机文件来完成,所以我编辑了我最初为网站设置的现有虚拟主机文件

/etc/apache2/sites-available/domain.co.uk

我在这个文件的顶部添加了一个新块,所以它现在看起来像这样:

<VirtualHost *:80>
    ServerName domain.co.uk
    Redirect permanent / http://www.domain.co.uk/
</VirtualHost>
<VirtualHost *:80>
  # Admin email, Server Name (domain name), and any aliases
  ServerAdmin admin@domain.co.uk
  ServerName  www.domain.co.uk
  ServerAlias domain.co.uk

  # Index file and Document Root (where the public files are located)
  DirectoryIndex index.html index.php
  DocumentRoot /home/simon/public/domain.co.uk/public/

  # Log file locations
  LogLevel warn
  ErrorLog  /home/simon/public/domain.co.uk/log/error.log
  CustomLog /home/simon/public/domain.co.uk/log/access.log combined
</VirtualHost>

编辑此文件后,我重新启动了 Apache 并尝试了该站点,但 http://domain.co.uk 给我“无法打开页面 - 无法访问服务器”。 http://www.domain.co.uk 仍然可以正常工作。

这是&lt;virtualhost&gt; 块的正确位置吗?我看到有人提到将虚拟主机信息放在httpd.conf 文件中,但我在安装 apache 时找不到这个文件。

任何帮助都会很棒。

【问题讨论】:

    标签: linux apache redirect virtualhost linode


    【解决方案1】:

    试试这个并重启 Apache

    <VirtualHost *:80>
        ServerName domain.co.uk
        ServerAlias *.domain.co.uk
        RedirectMatch permanent /(.*) http://www.domain.co.uk/$1
      </VirtualHost>
    

    【讨论】:

    • 嗯.. 谢谢你,但它给了我一个重定向循环错误.. 这可能与第二个 VirtualHost 文件中的 ServerAlias 行有关吗?
    • 是的,删除它并尝试。
    猜你喜欢
    • 2017-09-13
    • 2021-09-16
    • 2014-07-08
    • 2011-04-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多