我有一个angular(1.5.9)应用程序托管在Amazons Elastic Beanstalk上。
我想从URL中删除#
并遵循本指南和其他类似指南。
>
$locationProvider.html5Mode(true);
完成index.html更新:
<head>
...
<base href="/">
</head>
所有参考资料的更新均已完成:
<代码>/#/登录-
我已经通过ssh连接到我的亚马逊服务器并创建了一个。htaccess文件:
[ec2-user@ip-xxx-xx-x-xxx]$ll-a /var/www/html12 drwxr-xr-x 2 root root 4096 22 maj 13.43. drwxr-xr-x 6 root root 4096 1 maj 23.56...-rw-r--r--1 root root 339 22 maj 13.43. htaccess
内容如下:
RewriteEngine On
# If an existing asset or directory is requested go to it as it is
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]
# If the requested resource doesn't exist, use index.html
RewriteRule ^ /index.html
我有索引。html和应用程序。/src/main/resources/static目录下的js文件
访问www.mypage。com并导航到www.mypage。com/about在url中没有#的情况下效果很好,但是刷新页面会得到404。
我做错了什么?亚马逊服务器上通常是如何做到这一点的?
要从URL中删除#
,您需要在配置中设置HTLML5模式:
appModule.config(['$locationProvider', function($locationProvider) {
$locationProvider.html5Mode(true);
}]);
还要在中设置基数
<head>
...
<base href="/">
</head>
如果您使用的是Angular 1.6或更高版本,则还需要更新
hashPrefix
(默认值!
):
$locationProvider.hashPrefix('');
从迈克的评论和这里和这里的一些链接中得到灵感,我选择放弃。htaccess文件,httpd。亚马逊上的conf文件或其他类似重定向。相反,我只是将这个控制器添加到Java Spring Boot后端:
package com.example
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class CatchAllController {
@RequestMapping(value = "/**/{[path:[^\\.]*}")
public String redirect() {
return "forward:/";
}
}
使用@RestController对我不起作用,我必须使用@Controller。
该模式匹配其中没有“.”的所有内容,因此不匹配. jpg图像等资源。此外,所有其他endpoint仍然首先匹配(我猜是因为它们比这条规则更具体)
再加上我最初问题中的1-3步,这让一切都按预期进行,重新加载效果很好,任何地方都不需要#。现在我可以在我熟悉的Java环境中控制它,在localhost上轻松测试,并且不会迷失在mod_rewrite文档中。。。
有没有办法取消发布,然后从Android开发者控制台的应用程序列表中永久删除一个应用程序?
我试图开发一个android应用程序,可以擦除其他应用程序的缓存数据,我试图浏览所有的博客,但没有一个对我有效,我可以通过以下代码清除我的应用程序的缓存 我想清除其他应用程序的缓存,可以任何机构请帮助我,如果我错了请纠正我,提前谢谢。
问题内容: 在此URL中,我有一些Json数据。如何 使用该URL将数据获取到我的andorid应用程序。 我在Google中看到过引用。但是没有解决办法。 我是Andorid的新手。 请帮我。 问题答案: 做这个 : 步骤-1在您的gradle中导入排球库: 实现’com.android.volley:volley:1.1.0’ 然后在Java中编写以下代码:
问题内容: 如何从静态页面的网址中删除? 另外,我需要将任何网址重定向到没有该网址的网址。(即到)。 问题答案: 感谢您的答复。我已经解决了我的问题。假设我的页面在下,则适用以下.htaccess 规则。
我有一个Angular project web app,在我使用“ng build…”构建它之后,它正在Apache web服务器中成功运行命令现在,我想让它成为Android应用程序,为此,我尝试使用Cordova。首先,我创建了一个Cordova项目,然后在www目录下,我放置了来自NG的文件。是的,在那之前我还使用了Cordova平台add android。但是,当我在模拟器或真实设备上安装
问题内容: 我正在使用angular-ui-router库,URL出现问题。 我有以下代码: app.js: index.html: 这行得通,但是当我从标记中删除“#”时,此行不通。 如何从网址中删除“#”符号? 问题答案: 如果要导航而不使用哈希标签,则需要启用HTML5Mode: 您还需要通过将以下代码添加到HTML文件的来告诉angular应用的根URL : 请注意,对HTML5模式的支持