gpt4 book ai didi

javascript - 删除 angularjs 中传入 url 的 hashbang

转载 作者:行者123 更新时间:2023-11-28 02:33:51 28 4
gpt4 key购买 nike

当从另一个网页重定向用户时,是否可以从 angularjs URL 中删除 hashbang?

我在 AngularJS 中有一个网站,我已经能够从我页面中所有 URL 的地址栏中删除 hashbang 符号(当从一个 View 重定向到另一个 View 时)。我根据 angularjs API 使用了 HTML5Mode: https://docs.angularjs.org/#html5-mode

但是,如果我尝试在不使用 hashbang 的情况下从其他地方链接到我的网站,我会得到“无法获取/home”。我正在测试的 URL 是 https://localhost:9001/home。这在页面内有效,但不会直接粘贴到地址栏。

我想知道 HTML5Mode 是否只适用于网页,但我找不到明确的解释。

我是这样配置应用程序的:

.config(['$locationProvider', function($locationProvider) {  
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});

更新

我正在使用 gulp 作为我的测试服务器(我忘记说了)。唯一需要的更改是添加“回退”参数以启用重新路由。

gulp.task('start-server', function () {
connect.server({
port: port,
root: appHome,
http: false,
fallback: 'app/index.html',
livereload: true,
middleware: function () {
return [cors];
}
});

最佳答案

要实现您想要的,您需要:

创建重写规则以重写指向您的根索引页面的链接调整您的 JS,使其生成主题标签而不是 URL。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)
</IfModule>

关于javascript - 删除 angularjs 中传入 url 的 hashbang,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48703121/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com