是的,我知道,有很多这样的问题,但是我找不到一个能解决我的问题,所以我会以被否决的代价再次问这个问题。即使是一个重复的链接也可以帮助我。
这是我以前从未做过的工作,我有这样的URL demo.html?code=IT-ROM-FCO,其中:
IT是“意大利”的国际航空运输协会代码ROM是国际航空运输协会“罗马”的代码FCO是国际航空运输协会"Aeroporto di Roma Fiumicino“的代码。我必须重写上面的URL以像这个airports/italy/rome/aeroporto-di-roma-fiumicino那样显示,结果的字符串来自于一个API服务。
我知道简单的重写来将products.php?id=7更改为products/7,但我从未完成过这样的任务(获取URL -在PHP /给定代码中检索一些数据-“漂亮”打印新的URL)
由于我真的不知道如何完成这项工作,我没有代码示例,对不起。
发布于 2017-05-24 15:11:57
我建议将代码保存在URL中。这样做有一些好处:
我建议使用像:/IT-ROM-FCO/airports/italy/rome/aeroporto-di-roma-fiumicino这样的URL,您可以使用以下重写规则将代码放入参数中并删除段塞:
RewriteRule ^/?([A-Z]+-[A-Z]+(-[A-Z]+)?).* /demo.html?code=$1 [L]这将接受任何在开头有两个或三个缩写的URL,并将它们放入代码参数中。这应该支持您在注释中提到的code=IT-ROM或code=IT-ROM-FCO案例。
然后,当您在站点上生成URL时,将漂亮的版本放在hrefs中:
<a href="/IT-ROM-FCO/airports/italy/rome/aeroporto-di-roma-fiumicino">您还需要“规范化”您的URL。然后,URL /IT-ROM-FCO/foo-bar将显示相同的内容。通过使用带有漂亮URL的页面头部的meta链接rel规范标记来解决这一问题可能是最简单的。这将告诉谷歌哪个版本是你最喜欢的URL。
<link rel="canonical" href="https://example.com/IT-ROM-FCO/airports/italy/rome/aeroporto-di-roma-fiumicino">https://webmasters.stackexchange.com/questions/106557
复制相似问题