-2

我正在尝试使用包含参数的静态 URL 地址创建搜索引擎。例如:www.domain.com/search,city,region,type.html

出于某种原因(数据库关系没有很好地预测)我不能在 URL 中放置标识符 - 我已经完全按照原样放置了参数名称。问题是参数可以包含特殊字符,如“ó”、“ż”、“ć”、“ą”。我已经读过,在 SEO 方面不建议将其放入 URL,所以我不打算这样做,因为 SEO 对我来说非常重要。只有名为 city 的参数才会有特殊符号。

我有一些想法。

  1. 在特殊字符之后添加另一个特殊字符,如“-”,告诉脚本应该替换之前的单个字符,例如。www.domain.com/search,bial-ystok,wielkopolskie,restaurant.html。
  2. 在 URL 的末尾添加一些其他参数,例如 www.domain.com/search,bialystok,wielkopolskie,restaurant,4.html 告诉脚本参数城市中的标志 4 应该被替换。

哪种方式最好?还有其他想法吗?URL 应该很好看。

4

1 回答 1

2

上述解决方案都不是正确的,至少从我的角度来看不是。你必须做的,或者至少我会做的是:
1)有一张国家的桌子,一个国家的桌子,一个城市的桌子。我假设你已经拥有了,如果你没有,那么使用开源 CMS,比如 Open Cart,然后从那里获取它们,或者使用像 geonames.org 这样的网络服务。
2) 每个表都有一个名为 slug/nice_url/whatever 的列,您将在其中存储您的实际名称的漂亮 url 副本。您将使用:https ://github.com/jbroadway/urlify ,这是一个很棒的 php 库,可以创建漂亮的 slug。
3)然后,您所要做的就是索引每个表中的 slug 列,然后您的 url 将变为: www.domain.com/search/bialystok/wielkopolskie/restaurant基于此,您知道wielkopolskie是您所在城市的名称,您将使用 slug 在您的城市表中搜索它,您将获得正确的记录。

注1:在我的例子中,我真的不知道我是否得到了正确的城市,因为我不知道你所在国家的城市,但你应该明白这一点。
注2:我知道这意味着你需要做很多工作和改变,但如果你做到了,至少做对了,从长远来看,这将是一场胜利。
注意 3:也许阅读关系数据库也将帮助您以关系方式创建表。

于 2013-05-20T09:08:49.700 回答