web-dev-qa-db-ja.com

仮想ホストがAWS apacheを機能しない

AWSの単一のディレクトリからすべてのサブドメインをロードするために、次の仮想ホスト(Apache2.confファイル内)があります

<VirtualHost *:80>
    DocumentRoot /var/www/html
   ServerName mydevsite.com
   ServerAlias mydevsite.com

</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /var/www/html/apps
    ServerName mydevsite.com
    ServerAlias *.mydevsite.com
</VirtualHost>

機能せず、サブドメインはまだhtmlディレクトリを指しています

Htaccessでもフォローしてみましたが、500エラーが発生しました

RewriteEngine On
RewriteCond %{HTTP_Host} !^www\.website\.com$
RewriteCond %{HTTP_Host} ^(\w+)\.website\.com$
RewriteCond %{REQUEST_URI}:%1 !^/([^/]+)/([^:]*):\1
RewriteRule ^(.*)$ /%1/$1 [QSA]

私の単純な要件は、ルートディレクトリからメインドメインをロードし、アプリディレクトリからすべてのサブドメインをロードすることです。

6
Vikram

きみの Apache2.confは同じですServerName mydevsite.com両方の仮想ホスト。 Apacheは、各仮想ホストを識別するために異なる名前を求めています。構成は次のようになります。

<VirtualHost *:80>
    ServerName mydevsite.com
    DocumentRoot "/var/www/html"
</VirtualHost>

<VirtualHost *:80>
    ServerName apps.mydevsite.com
    ServerAlias *.mydevsite.com
    DocumentRoot "/var/www/html/apps"
</VirtualHost>

疑わしい Apache HTTP Serverバージョン2.4-名前ベースの仮想ホストの使用 を読んでください。

Apacheを再起動する前に、構成をテストします。

$ Sudo Apache2ctl configtest

Configtestがエラーなしで終了した場合は、Apacheを再起動します。

$ Sudo systemctl restart Apache2.service

3
Fabian