在apache文件夹中部署angular应用程序

时间:2019-03-25 16:46:42

标签: angular apache

我有Apache服务器,该服务器在/var/www/html/<angular_root>下运行Angular 6应用程序。我试图添加一个文件夹/var/www/html/admin/<angular_root>,但出现错误Failed to load resource: the server responded with a status of 404 (Not Found)。您知道我需要实现什么配置吗?

我当前的Apache配置是:

<Directory /var/www/html/admin>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

4 个答案:

答案 0 :(得分:3)

这是我的工作示例:

<VirtualHost fancy.local:80>
    DocumentRoot "/abs/path/to/fancy/dist/browser"
    ServerName fancy.local
    <Directory "/abs/path/to/fancy/dist/browser">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

dist/browserindex.html生成的源

答案 1 :(得分:2)

您需要将重写规则添加到.htaccess。否则,对您路线的请求将不会被重定向回index.html进行渲染。 请看以下链接 Apache部署:enter image description here

RewriteEngine On
    # If an existing asset or directory is requested go to it as it is
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
    RewriteRule ^ - [L]
    # If the requested resource doesn't exist, use index.html
RewriteRule ^ /index.html

答案 2 :(得分:0)

您的棱角项目(基本href是错误的)。 部署应用程序时,请在cmdline上指定base-href:

ng build --prod --base-href ./

以供参考https://angular.io/guide/deployment

答案 3 :(得分:0)

我的一个项目位于tomcat服务器上,我做了以下事情:

  1. src/WEB-INF内创建一个新文件夹。
  2. WEB-INF文件夹中,使用以下代码创建web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <error-page>
        <error-code>404</error-code>
        <location>/</location>
    </error-page>
</web-app>

  1. 更新您的angular.json构建>资产部分,然后在构建项目时将其复制到最终的./dist文件夹中。
"assets": [
              {
                "input": "src/assets",
                "output": "/assets/"
              },
              "src/favicon.ico",
              "src/WEB-INF"
    ],
  1. 更新您的index.html文件<base href="./">

希望这会对某人有所帮助。