如何从url angular app中删除哈希?

时间:2016-11-17 14:59:23

标签: angularjs .htaccess hash html5mode

这可能是重复的问题。但我尝试了很多解决方案,没有回答对我有用。我正在使用ui-router for angular web app。 我正在使用apache2服务器来提供角度应用程序。我正在使用Ubuntu。 我的项目代码位于文件夹\ var \ www \ html \ myapp中 这里 myapp 是我的应用程序文件夹。 我试过以下几 1 <base href="/myapp/">添加到主标记
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>

以及.htaccess文件的其他一些内容,我从谷歌那里获得了服务路径 我已经尝试将.htaccess文件放在\ var \ www \ html \以及\ var \ www \ html \ myapp中。 它会从网址中删除哈希值,但是当我点击刷新时,它会显示 not found 。任何人都可以帮助我。

1 个答案:

答案 0 :(得分:1)

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

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);