我有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>
答案 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/browser
是index.html
生成的源
答案 1 :(得分:2)
您需要将重写规则添加到.htaccess。否则,对您路线的请求将不会被重定向回index.html进行渲染。 请看以下链接 Apache部署:
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 ./
答案 3 :(得分:0)
我的一个项目位于tomcat
服务器上,我做了以下事情:
src/WEB-INF
内创建一个新文件夹。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>
angular.json
构建>资产部分,然后在构建项目时将其复制到最终的./dist
文件夹中。"assets": [
{
"input": "src/assets",
"output": "/assets/"
},
"src/favicon.ico",
"src/WEB-INF"
],
index.html
文件<base href="./">
希望这会对某人有所帮助。