Angular2の仮想ホストを構成する必要があります。この記事を試してみました
https://www.packtpub.com/mapt/book/Web+Development/9781783983582/2/ch02lvl1sec15/Configuring+Apache+for+Angular
これによると、私はこのように仮想ホストをセットアップする必要があります
<VirtualHost *:80>
ServerName my-app
DocumentRoot /path/to/app
<Directory /path/to/app>
RewriteEngine on
# Don't rewrite files or directories
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
# Rewrite everything else to index.html
# to allow html5 state links
RewriteRule ^ index.html [L]
</Directory>
</VirtualHost>
アプリがデフォルトで実行されているときにアプリへのパスを誰かに教えてもらえますかangular 2ポート4200です。他に方法はありますか?.
angular-cli build
ローカル開発環境で、プロジェクトルートでng build --prod
を実行します。
これにより、dist
というフォルダーが作成されます。dist
内のすべてのファイルとフォルダーをサーバーのApacheルートディレクトリに配置します。
Apacheを設定して、index.htmlへのルートを提供します。使用できる方法は2つあります。仮想ホストを編集するか、Webサイトのルートディレクトリで.htaccessを使用します。
オプション1:仮想ホスト
<VirtualHost *:80>
ServerName my-app
DocumentRoot /path/to/app
<Directory /path/to/app>
RewriteEngine on
# Don't rewrite files or directories
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
# Rewrite everything else to index.html
# to allow html5 state links
RewriteRule ^ index.html [L]
</Directory>
</VirtualHost>
オプション2:.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
# Don't rewrite files or directories
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
# Rewrite everything else to index.html
# to allow html5 state links
RewriteRule ^ index.html [L]
</IfModule>