我已经开发了angular-dart应用程序,并将其部署到我的apache2服务器上的domain.tld / subdirectory/。
我创建了一个.htaccess文件,并使用基本的href =“ / subdirectory /”配置了index.html。
如果我加载根目录或更高级别(domain.tld / subdirectory / home),一切正常。我也可以访问深层链接页面(domain.tld / subdirectory / action / 3),但是如果刷新页面,则会收到空白的index.html屏幕。如果我在Firefox中打开控制台,则会告诉我该页面尝试打开: 获取https://domain.tld/subdirectory/action/main.dart.js 哪个当然行不通。
main.dart.js位于domain.tld / subdirectory /中,但客户端认为它位于action-子目录中。怎么了?
<IfModule mod_rewrite.c>
Options Indexes FollowSymLinks
RewriteEngine On
RewriteBase /subdirectory/
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.html [L]
</IfModule>
<!DOCTYPE html>
<html>
<head>
<title>Page</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="styles.css">
<link rel="icon" type="image/png" href="favicon.png">
<script defer src="main.dart.js">
<base href="/subdirectory/">
</head>
<body onload="">
<my-app>Loading...</my-app>
</body>
</html>