我的团队正在开发一个新的网站,为一家公司提供“在线旅游注册”服务。在设计旅游页面时,我们正在讨论如何为每个旅游创建一个URL,这样每个人都可以理解它,另一方面,它对于搜索引擎来说也是有意义的。
因此,我们开始分析实现一个美丽URL的不同方法。考虑到每个旅游都可以通过一个唯一的ID识别,因此,一个示例旅游URL可能如下所示:
http://www.example.com/tour/0x5P8btUJSo58LFh9Ukm114613052846
其中0x5P8btUJSo58LFh9Ukm114613052846是旅游的唯一ID。问题是,如何添加原产地和目的地名称是URL,这样每个人都可以通过查看URL来了解旅游的位置。你有什么建议?如果我们在URL中添加原点和目的地,将如何声明具有相同目的地和来源的不同旅游?如何添加原产地和目的地将如何影响搜索引擎优化和出现在搜索结果?
发布于 2013-11-22 17:51:58
为什么不把日期也写在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-25example.com/tour/0x5P8btUJSo58LFh9Ukm114613052846如果除了可读部分之外还包括ID,URL将变得非常长,并且ID仍然会分散对重要部分的注意力:
example.com/tour/0x5P8btUJSo58LFh9Ukm114613052846/paris-to-madrid/2013-11-25发布于 2013-11-20 16:03:49
我使用Apache将/ 重写 /目录的所有URL重写为一个脚本,并使用一个查询字符串将请求的路径传递给脚本。
/旅游/..htaccess:
RewriteEngine On
RewriteRule ^/?tours/?(.*)$ index.php?q=$1 [NC,L]然后,在index.php中,让它以您想要的任何格式处理$_GET['q']的数据。这样,您仍然可以保留到当前页面的任何链接,但也可以接受新格式。
为了区分不同的旅游,我会运行如下格式:
http://www.example.com/tours/Origin/Destination/TourID
也许可以让TourID成为一个小得多的字符串,甚至是由预订了旅游的团队定制的。
发布于 2013-11-20 16:00:23
如果您使用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]https://stackoverflow.com/questions/20100464
复制相似问题