1

メイン ドメイン名が www.mysite.com の私のサイトは、以前はうまく機能していました。(実際のドメイン名を隠すために mysite を使用しています)。Linode の LAMP サーバーで、ガイドhttp://library.linode.com/lamp-guides/ubuntu-10.04-lucidでセットアップされています。ホスト上の別の仮想ホストに sub.mysite.com を追加したいと考えています。私はhttp://davidpodley.com/2010/02/11/setting-up-subdomains-in-linode-and-apache/をフォローし、フォローした後

a2ensite sub.mysite.com
/etc/init.d/apache2 restart

www.mysite.com の一部のユーザーは、www.mysite.com ではなく sub.mysite.com にアクセスします。/srv/www/sub.mysite.com/logs/access.log でそれらを見つけることができ、問題を教えてくれます。www.mysite.com のみにアクセスする必要があります。ただし、私のPCでは問題なく動作します。

www.mysite.com のユーザーが sub.mysite.com にアクセスするのはなぜですか? 誰でも私を助けることができますか?

いくつかの情報:

24 時間前に A レコードにサブを追加しました: 私の A レコードは:

Hostname IP Address TTL Options
         96.126.98.96    Default    Edit | Remove
sub      96.126.98.96    Default    Edit | Remove
mail     96.126.98.96    Default    Edit | Remove
www      96.126.98.96    Default    Edit | Remove

サーバーのホスト名は mysite で、サーバーの /etc/hosts は

127.0.0.1 localhost.localdomain localhost
96.126.98.96 mysite.mysite.com mysite

apache2ctl -S:

VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:443                  is a NameVirtualHost
         default server mysite.com (/etc/apache2/sites-enabled/mysite.com:10)
         port 443 namevhost mysite.com (/etc/apache2/sites-enabled/mysite.com:10)
*:80                   is a NameVirtualHost
         default server sub.mysite.com (/etc/apache2/sites-enabled/sub.mysite.com:1)
         port 80 namevhost sub.mysite.com (/etc/apache2/sites-enabled/sub.mysite.com:1)
         port 80 namevhost mysite.com (/etc/apache2/sites-enabled/mysite.com:1)

/etc/apache2/sites-enabled/mysite.com:

<VirtualHost *:80>
     ServerAdmin mysite@gmail.com
     ServerName mysite.com
     ServerAlias www.mysite.com
     DocumentRoot /srv/www/mysite.com/public_html/
     ErrorLog /srv/www/mysite.com/logs/error.log
     CustomLog /srv/www/mysite.com/logs/access.log combined
</VirtualHost>

<VirtualHost *:443>
     SSLEngine On
     SSLCertificateFile /etc/apache2/ssl/apache.pem
     SSLCertificateKeyFile /etc/apache2/ssl/apache.key

     ServerAdmin mysite@gmail.com
     ServerName mysite.com
     ServerAlias www.mysite.com
     DocumentRoot /srv/www/mysite.com/public_html/
     ErrorLog /srv/www/mysite.com/logs/error.log
     CustomLog /srv/www/mysite.com/logs/access.log combined
</VirtualHost>

/etc/apache2/sites-enabled/sub.mysite.com:

<VirtualHost *:80>
     ServerAdmin mysite@gmail.com
     ServerName sub.mysite.com
     ServerAlias www.sub.mysite.com
     DocumentRoot /srv/www/sub.mysite.com/public_html/
 #    DocumentRoot /srv/www/mysite.com/public_html/sub
     ErrorLog /srv/www/sub.mysite.com/logs/error.log
     CustomLog /srv/www/sub.mysite.com/logs/access.log combined
</VirtualHost>

ありがとうございました!

4

1 に答える 1

0

解決しました。一部のユーザーは、私のメイン ドメイン サイトに IP で直接アクセスします。apache2ctl -S の結果では、

default server sub.mysite.com

Apacheの説明によると、構成ファイルの最初のものが最も優先度が高く、デフォルトまたはプライマリサーバーと見なすことができます。私のサーバー/etc/apache2/sites-enabledで、mysite.comの名前を000mysite.comに変更すると、sub.mysite.comの前にロードされます(私のサイトでは、「sub」は「f *」です)

于 2012-04-24T06:54:47.317 に答える