带有 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的主要内容,如果未能解决你的问题,请参考以下文章