
私はCentOS 7 サーバー約20のドメインがすべて自動管理されており、/etc/httpd/conf.d の vhosts ファイル。
私は学ぶことをしようとしていますジャンゴそして、それを使用して単一のドメインをセットアップしたかったので、.conf ファイルに特定の仮想ホストを追加しました。
結果、Djangoドメインは正常に動作しますが、他のサイトはすべて壊れている(Django を使用しようとしますが、エラーが発生します)。
Djangoドメインには2 つのフォルダー: djangodomain.com静的ファイルの場合djangoドメイン.appPython ファイル用。
既存の複数ドメインの仮想ホスト設定に単一の Django ドメインを統合するにはどうすればよいですか?
既存の vhosts.conf:
<VirtualHost *:80>
serveradmin [email protected]
serveradmin [email protected]
usecanonicalname off
# www.site.com » site.com
rewriteengine on
rewritecond %{HTTP_HOST} ^www\.(.*)$ [nc]
rewriterule ^(.*)$ http://%1 [r=301,l]
# file locations
virtualdocumentroot "/home/username/%0"
<directory "/home/username/*">
allowoverride all
require all granted
options indexes followsymlinks
options +execcgi
options +includes
</directory>
</VirtualHost>
私が追加した内容により、Django サイト以外はすべて壊れました:
<VirtualHost djangodomain.com:80>
ServerName djangodomain.com
ServerAlias www.djangodomain.com
ServerAdmin [email protected]
DocumentRoot /home/username/djangodomain.com
WSGIScriptAlias / /home/username/djangodomain.app/django.wsgi
<Directory /home/username/djangodomain.app>
Order allow,deny
Allow from all
</Directory>
Alias /robots.txt /home/username/djangodomain.com/robots.txt
Alias /favicon.ico /home/username/djangodomain.com/favicon.ico
Alias /images /home/username/djangodomain.com/images
Alias /static /home/username/djangodomain.com/static
ErrorLog /home/username/djangodomain.logs/error.log
CustomLog /home/username/djangodomain.logs/access.log combined
</VirtualHost>
[更新: 問題は解決しました] クロスポストスタックエクスチェンジ
答え1
または設定のない を、それらの設定がある と、VirtualHost
同じ IP アドレスとポートに結合することはできません。 を実行して、Apache がその設定について実際にどう考えているかを確認できます。ServerName
ServerAlias
apachectl -S
デフォルトの仮想ホストへのアクセスに使用される 20 個のドメイン名をすべて知っていると仮定すると、解決策はServerName
/を使用してそれらをすべてリストすることですServerAlias
。知らない場合は、たとえば、新しいドメイン名を別の IP アドレスやポートに隔離することができます。