如何从 url angular 应用程序中删除哈希?

How to remove hash from url angular app?

这可能是重复的问题。但我已经尝试了很多解决方案,没有答案适合我。我正在为 angular 网络应用程序使用 ui-router。 我正在使用 apache2 服务器为 angular 应用程序提供服务。我正在使用 Ubuntu。 我的项目代码在文件夹 \var\www\html\myapp 内 这里 myapp 是我的应用程序文件夹。 我尝试了以下
1<base href="/myapp/"> 添加到 head 标签
2 添加 $locationProvider.html5Mode(true);$locationProvider.html5Mode({ enabled: true, requireBase: false}); (分别尝试过)
3 添加具有以下内容的 .htaccess 文件

Options +FollowSymLinks

<ifModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !index
    RewriteRule (.*) index.html [L]
</ifModule>

以及我从 google 获得的 .htaccess 文件的一些其他内容以提供路径。
我尝试将 .htaccess 文件放入 \var\www\html\ 以及 \var\www\html\myapp 中。 它将从 url 中删除散列,但是当我单击刷新时,它会显示 未找到 。谁能帮帮我。

\var\www\html\myapp 下的 .htaccess 文件中试试这个:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.html [L]

index.html头部部分:

<base href="/myapp/">

在应用配置中:

$locationProvider.html5Mode({
  enabled: true,
  requireBase: false
});

/* Records full path */
$analyticsProvider.withBase(true);