Déployer Angulaire 2 de du Serveur Apache
Je veux déployer Angulaire à 2 application sur un serveur Apache. J'ai lu de nombreux guides comme cette et cette mais aucun d'eux de travailler. J'ai npm
et ng
installé sur le serveur.
En résumé, voici ce que j'ai fait:
- Cloné complète du projet de référentiel sur mon serveur.
- Installé les dépendances à l'aide de
npm install
. - Utilisé
ng build --prod
commande et il a créé unedist
répertoire. - Changé
apache
la racine à la/var/www/html/dist
répertoire. - Activé
mod_rewrite
, redémarréapache
et a ajouté ce.htaccess
dans mondist
répertoire.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
Mais seulement ma page d'accueil domain.com
œuvres, d'autres pages comme domain.com/login
, domain.com/register
etc. jeter l'erreur 404. Même domain.com/index.html/login
ne fonctionne pas.
L'application fonctionne très bien sur mon système local où je suis en développement à l'aide de ng serve
. Ce qui me manque?
OriginalL'auteur Kanav | 2017-03-27
Vous devez vous connecter pour publier un commentaire.
Créer
.htaccess
fichier dans le dossier racine et collez cette.htaccess
Fonctionne pour moi aussi avec PHP-Slim sur le backend et Angulaire 6
assurez-vous que le mod_rewrite est sur
a2enmod rewrite && apache2 restart
OriginalL'auteur Sumit Jaiswal
Il semble qu'il me manquait dans mon
/etc/apache2/sites-enabled/000-default.conf
fichier. Après l'ajout de cette et redémarrageapache
, le site fonctionne très bien.ng-build
et déployé dans le serveur apache,merci cela a été utile
Merci. Et cette approche fonctionne pour les linode serveur cloud.
OriginalL'auteur Kanav
1) Changement de la base de balise index.html fichier
2) Projet De Construction D':
3) Ajoutez votre dist fichiers dans "/usr/local/apache2/htdocs/monprojet/"
4)Sur le Serveur Apache 2.4 (httpd)
Dans le Fichier: /usr/local/apache2/conf/httpd.conf configuration "directive fallbackresource"
complet du fichier "/usr/local/apache2/conf/httpd.conf":
OriginalL'auteur rafambbr
Pour Apache, pour rediriger toute demande d'index.html vous avez besoin d'un .fichier htaccess à la racine.
Il suffit de créer un .htaccess dans votre dossier dist (même niveau que index.html), je suppose que c'est le public de la racine de votre application, et collez la dans le .htaccess:
Maintenant, n'importe quel chemin que vous demandez, Apache va toujours servir votre index.html fichier, à l'exception des demandes réelles des fichiers existants (RewriteCond %{REQUEST_FILENAME} !-f) et des demandes de css, js etc. (RewriteCond %{REQUEST_URI} !.(?:css|js|map|jpe?g|gif|png)$) - qui a besoin d'être exclu, parce que vous voulez vraiment.
Aussi, l'Apache mod_rewrite d'extension doit être activée pour que cela fonctionne. Le plus souvent, elle est activée. Si non, demandez à votre fournisseur d'hébergement
OriginalL'auteur Md Ayub Ali Sarker
Changement de la base de balise index.html fichier
<base href="./">
Créer une génération après que
ng build --prod
Vous avez maintenant un nouveau dossier dist, déployer dist dossier maintenant. Il devrait fonctionner.
OriginalL'auteur krunal shah
Changement de la base de balise index.html fichier
Exécuter:
OriginalL'auteur Fernix
ouvrir votre index.html dans le répertoire dist après
et Chang élément de base de votre site nom DNS par exemple, pour mon serveur apache local
J'ai changé de
à
OriginalL'auteur Mohannd