我的团队正在开发一个新网站,为公司提供“在线旅游注册”服务。在设计旅游页面时,我们正在讨论如何为每个旅游创建一个URL,以便每个人都能理解它,另一方面它对搜索引擎有意义。
因此我们开始分析实现美丽网址的不同方法。考虑每个游览都可以通过唯一ID识别,因此,示例游览URL可能是这样的:
http://www.example.com/tour/0x5P8btUJSo58LFh9Ukm114613052846
其中0x5P8btUJSo58LFh9Ukm114613052846
是游览的唯一ID。问题是,如何添加Origin和Destination名称是URL,这样每个人只有通过查看URL才能理解游览的位置。你会建议什么?如果我们在URL中添加起源和目的地,将如何声明具有相同目的地和起源的不同游览?如何添加Origin和Destination会影响SEO并出现在搜索结果中?
答案 0 :(得分:1)
我使用Apache Mod_Rewrite将/ tour /目录的所有URL重写为单个脚本,并使用查询字符串将请求的路径传递给脚本。
/tours/.htaccess:
RewriteEngine On
RewriteRule ^/?tours/?(.*)$ index.php?q=$1 [NC,L]
然后,在index.php中,让它以您希望的任何格式处理$_GET['q']
的数据。这样,您仍然可以保留当前页面的任何链接,但也接受新格式。
为了区分不同的游览,我会运行如下格式:
http://www.example.com/tours/Origin/Destination/TourID
也许使TourID变得更小,甚至可以由预订旅行团体定制。
答案 1 :(得分:1)
为什么不将日期放在网址中呢?
如果 origin + destination + date 在您的情况下是唯一的,您可以省略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
答案 2 :(得分: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]