我想在Apache子目录中部署Angular应用程序。我添加了.htaccess配置:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /admin/
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) index.html [NC,L]
</IfModule>
我使用以下命令来编译代码:
ng build --prod --base-href /admin/
但是当我打开一页时出现此错误:
Error: Uncaught (in promise): e: {"headers":{"normalizedNames":{},"lazyUpdate":null},"status":404,"statusText":"Not Found","url":"http://185.185.185.185/admin/api/transaction_notes/unique_id/219","ok":false,"name":"HttpErrorResponse","message":"Http failure response for http://185.185.185.185/admin/api/transaction_notes/unique_id/219: 404 Not Found","error":"<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n<html><head>\n<title>404 Not Found</title>\n</head><body>\n<h1>Not Found</h1>\n<p>The requested URL /admin/api/transaction_notes/unique_id/219 was not found on this server.</p>\n<hr>\n<address>Apache/2.4.18 (Ubuntu) Server at 185.185.126.15 Port 80</address>\n</body></html>\n"}
您能给我一些建议如何解决这个问题吗?
答案 0 :(得分:1)
您的错误似乎与您使用相对URL的API调用有关,但与应用程序自身加载无关。如果这是唯一的问题,则可以通过在网址前面加一个斜杠来简单解决此问题:
this.http.get('/api/transaction_notes')
代替this.http.get('api/transaction_notes')
对于其他任何事情,您可能必须提供更多的信息和代码。