使用不含 www 的預設虛擬主機。在域上

使用不含 www 的預設虛擬主機。在域上

我使用 Debian 8.1 64 位元並設定了主機名,所以我的登入名稱是[email protected].我安裝了 Apache2、PHP 等…也設定了 VirtualHost:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias *.example.com

    ServerAdmin admin@localhost
    DocumentRoot /var/www/example.com/
    <Directory "/var/www/example.com/">
        Options FollowSymLinks
        AllowOverride All
    </Directory>

</VirtualHost>

DNS設定:

example.com     1800    A       111.111.111.111
example.com     1800    MX  1   example.com
*.example.com   1800    CNAME   example.com

當我去時http://example.com/,它加載/var/www/html/索引,當我去時http://www.example.com/它效果很好。我嘗試了很多編輯,但沒有任何效果。這可以連接到我的伺服器的主機名稱嗎?任何想法?

答案1

這就是您的設定ServerNameServerAlias設定方式:

ServerName example.com
ServerAlias *.example.com

但我建議像這樣設定ServerNameServerAlias

ServerName www.example.com
ServerAlias www example.* www.example.*

我喜歡在為我擁有的公共網域設定多個頂級網域的情況下使用通配符。但如果你只有版本,.com你可以這樣設定:

ServerName www.example.com
ServerAlias www example.com www.example.com

然後重新啟動 Apache,一切都會好的:

sudo service apache2 restart

但如果您認為這是主機名稱問題,您可以執行此操作來確認或變更伺服器的主機名稱。首先,取得主機名,如下所示:

hostname

如果您想更改該主機名,只需執行以下命令:

sudo hostname example.com

另外,檢查如下sysctl設定kernel.hostname

sysctl kernel.hostname

如果需要更改,請這樣做:

sudo sysctl kernel.hostname=example.com

完成後,/etc/hosts如果需要調整,請確保調整連接到主機名稱的所有設置,然後重新啟動電腦。當它再次出現時,嘗試一下,看看會發生什麼。現在應該好了。

相關內容