带有 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 底部导航栏