【问题标题】:How to prettify URL based on product from url params with Angular hash included [closed]如何根据包含 Angular 哈希的 url 参数中的产品美化 URL [关闭]
【发布时间】:2017-10-07 12:37:09
【问题描述】:

我现在将编辑这篇文章,因为现在我知道它是关于什么的了。我想为我的产品网站提供一个漂亮的 URL。 在我的 .htaccess 文件中,我需要指向 www.mydomain.com/site/#?title=orange 来自 www.mydomain.com/site/orange

我已经在我的 .htaccess 文件中尝试了所有可能的正则表达式,但它只是不起作用。 我开始认为这是因为我的网站正常工作所需的 URL 中的 Angular #(哈希)符号。

当我点击一个产品时,我的 URL 会随以下代码发生变化:

        var url = location.href.split('#?')[0] + element;
        window.location.href = url;
        window.location.reload();   

然后重新加载,链接更新为显示我点击的产品的新 URL 参数。 我只希望 www.mydomain.com/site/orange 指向 www.mydomain.com/site/#?title=orange (需要哈希)

【问题讨论】:

标签: angular redirect hash seo clean-urls


【解决方案1】:

有几种方法可以做到这一点。这个概念被称为“干净的 url”,它基本上将像 www.exmaple.com?page=product&slug=Womens-Jackets 这样的 url 变成 www.example.com/womens-jackets

您首先需要您的网络服务器软件(Apache、Nginx 等)来处理初始重写。对于 Apache,您可以使用 .htaccess 文件通过mod_rewrite 处理此问题。 How to use mod_rewrite to create clean URLs

之后,您的服务器端应用程序需要处理请求参数 - 例如 ?page=product&slug=Womens-Jackets - 并使用它在数据库中查找项目以显示正确的页面/产品。

【讨论】:

  • 我在 one.com 上托管我的东西,所以我对服务器端没有真正的权力。但我认为我可以从那里修改 .htaccess 文件。
猜你喜欢
  • 1970-01-01
  • 2013-04-09
  • 2014-12-14
  • 2012-05-28
  • 2015-03-21
  • 1970-01-01
  • 1970-01-01
  • 2012-11-05
  • 2018-10-20
相关资源
最近更新 更多