带有 Angularjs/.htaccess 的漂亮 url

Posted

技术标签:

【中文标题】带有 Angularjs/.htaccess 的漂亮 url【英文标题】:Pretty url with Angularjs/.htaccess 【发布时间】:2018-04-06 22:26:44 【问题描述】:

我已经为此苦苦挣扎了一个星期。我使用 Anguarjs 并设置了 html5mode(true) 以消除您之前在 url 中需要的井号“#”。 一切正常,我的 URL 逻辑适用于查询参数。

www.domain.com/thecurrentpage/?title=banana

当我单击其他内容时它会更改并刷新页面,然后它会显示正确的内容。

我只想有这样的链接:

www.domain.com/thecurrentpage/banana

然后来到同一个页面。 这实际上会将您指向带有查询参数的第一个。 我觉得我已经用重写规则尝试了 .htaccess 文件中的所有内容,以及使用角度路由的所有内容。我就是不明白。

【问题讨论】:

这里是什么Angular 1 是$locationProvider.html5Mode(true);用于删除 # 符号。我提到它是为了确保这不会影响 .htaccess 文件或相反的文件。 【参考方案1】:

您想在路由中使用 : 语法。

在你的路由中添加这样的路由:

/thecurrentpage/:title

那么你可以使用:

$routeParams.title

获取值“香蕉”

这可能会有所帮助...AngularJS: Read route param from within controller

【讨论】:

我不确定我是否理解。当我将 www.domain.com/thecurrentpage/banana 粘贴到地址字段并按 ENTER 时。那我其实是想来www.domain.com/thecurrentpage/index.html?title=banana 但是现在我来www.domain.com/thecurrentpage/banana/index.html...不存在的。 好吧,看来我最大的问题是我用 html5Mode(true) 删除了 Angular 标签。从那以后,当我把它拿回来时,事情开始变得有意义,据我所知,主题标签之后的所有内容都不算是 index.html。这是您指定它执行的操作。我想我必须删除 .htaccess 文件中的主题标签。

以上是关于带有 Angularjs/.htaccess 的漂亮 url的主要内容,如果未能解决你的问题,请参考以下文章

编程练习:名字的漂亮度

华为机试HJ45:名字的漂亮度

华为机试HJ45:名字的漂亮度

钓鱼的时候,鱼钩是在水底还是在水底和水面的中间?

数据库读写分离

船舶黑匣子是什么