0

我的团队正在开发一个新网站,为一家公司提供“在线旅游注册”服务。在设计旅游页面时,我们正在讨论如何为每个旅游创建一个 URL,这样每个人都可以理解它,另一方面它对搜索引擎有意义。

因此,我们开始分析实现 Beautiful URL 的不同方法。考虑到每个游览都可以通过唯一 ID 识别,因此,示例游览 URL 可能是这样的:

http://www.example.com/tour/0x5P8btUJSo58LFh9Ukm114613052846

0x5P8btUJSo58LFh9Ukm114613052846游览的唯一 ID 在哪里。问题是,如何添加起点和终点名称是 URL,这样每个人都可以通过查看 URL 来了解旅行的位置。你会建议什么?如果我们在 URL 中添加起点和目的地,那么具有相同目的地和起点的不同旅行将如何声明?添加 Origin 和 Destination 将如何影响 SEO 并出现在搜索结果中?

4

3 回答 3

1

为什么不把日期也放在 URL 中呢?

如果您的出发地 + 目的地 + 日期是唯一的,您可以省略 ID;如果没有,也要加上出发时间。

各种设计都是可能的,例如:

example.com/tour/paris-to-madrid/2013-11-25
example.com/tour/paris/madrid/2013-11-25
example.com/tour/2013-11-25/paris-to-madrid/
example.com/tour/2013-11-25/paris/madrid/

我选择了一个允许通过 URL 路径操作进行浏览的。例如,如果您有一个包含特定日期的所有旅行的列表,请先使用日期(example.com/tour/2013-11-25/显示 2013-11-25 的所有旅行);如果您想显示特定旅行的所有可用旅行日期,请先使用该旅行(example.com/tour/paris-to-madrid/显示从巴黎到马德里的所有旅行);等等

我认为很明显,这样一个可读的 URL 比使用一个神秘的 ID 更友好。您更有可能点击哪个链接,哪个链接甚至在访问页面之前就提供了一些信息?

  • example.com/tour/paris-to-madrid/2013-11-25
  • example.com/tour/0x5P8btUJSo58LFh9Ukm114613052846

如果除了可读部分之外还包含 ID,则 URL 会变得很长,并且 ID 仍然会分散重要部分的注意力:

  • example.com/tour/0x5P8btUJSo58LFh9Ukm114613052846/paris-to-madrid/2013-11-25
于 2013-11-22T17:51:58.593 回答
1

我会使用 Apache Mod_Rewrite将 /tour/ 目录的所有 URL 重写为单个脚本,并使用查询字符串将请求的路径传递给脚本。

/tours/.htaccess:

RewriteEngine On
RewriteRule ^/?tours/?(.*)$ index.php?q=$1 [NC,L]

然后,在 index.php 中,让它$_GET['q']以您希望的任何格式处理 's 数据。这样,您仍然可以保留指向当前页面的任何链接,但也可以接受新格式。

为了区分不同的旅行,我会运行如下格式:

http://www.example.com/tours/Origin/Destination/TourID

也许让 TourID 成为一个更小的字符串,或者甚至由预订旅游的团体定制。

于 2013-11-20T16:03:49.500 回答
0

如果您使用的是 Apache,则需要 .htaccess

也许像

Options +FollowSymLinks
Options +Indexes
RewriteEngine on
RewriteBase /

RewriteRule ^/?tour/([a-zA-Z_]+)/([a-zA-Z_]+)$ tour.php?origin=$1&destination=$2 [NC,L]
于 2013-11-20T16:00:23.233 回答