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]
私の単純な要件は、ルートディレクトリからメインドメインをロードし、アプリディレクトリからすべてのサブドメインをロードすることです。
きみの 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