带有 url 参数的永久链接

Posted

技术标签:

【中文标题】带有 url 参数的永久链接【英文标题】:Permalinks with url parameters 【发布时间】:2021-06-04 01:24:04 【问题描述】:

我有一个带有 Jquery Boostrap 和 Firebase 的 html CSS JS 网站。我没有服务器端代码。 这是一个有 20 篇文章的平台。

使用 URL 参数,我得到文章的 id 并动态替换标题、描述、照片 URL 等数据库... 这是一个链接: https://visite-ton-ecole.fr/visiter.html?ec-nantes

Google 不会 SEO 参考我的每个 URL 参数以及我的每篇文章。所以我想重写网址

来自: https://visite-ton-ecole.fr/visiter.html?ec-nantes

https://visite-ton-ecole.fr/visiter.html?my-school

收件人:https://visite-ton-ecole.fr/visiter/ec-nantes

https://visite-ton-ecole.fr/visiter/myschool

我已经看到它被称为永久链接,并且像 Wordpress 这样的 CDN 在创建新文章时会自动执行此操作。 我已经看到您可以使用 .htaccess 来做到这一点:

RewriteEngine On
RewriteRule ^/?visiter/([^/d]+)/?$ visiter.html?$1 [L,QSA]

这个 .htaccess 确实有效,但是当页面完全加载时,它会自动重定向到我的服务器根目录。

使用 .htaccess 好用吗?还是有其他解决方案,例如服务器端解决方案?

【问题讨论】:

重定向的目标 URL 以 visiter.html 开头,所以我看不出您显示的内容如何将您重定向到站点路由。这里一定有别的东西在起作用。 另外,如果这是来自服务器端的重定向,那么在转到其他位置之前“等待”页面完全加载是没有意义的。 【参考方案1】:

如果您更改 URL 格式,则浏览器会看到新格式的 URL,而不是旧格式。

因此,在浏览器中运行的 javascript 也会看到新格式的 URL,而不是旧格式。

如果您的 JavaScript 仍在尝试解析 URL,就好像它是旧格式一样(即从查询字符串中获取数据),那么它不会找到它。

您需要更新您的 JavaScript,以便它能够处理新的 URL 格式。

【讨论】:

以上是关于带有 url 参数的永久链接的主要内容,如果未能解决你的问题,请参考以下文章

带有 url 更新和超链接支持的 Flutter web 底部导航栏

启用永久链接后,Wordpress 在 wamp apache 上抛出 403 禁止错误?

发送带有 php 链接的短信

WordPress - 禁用带ID的URL(SEO)

如何替换 thymeleaf 链接中的 URL 参数?

将参数添加到寻呼机链接 url