Php 如何使具有唯一ID的URL美观并提高搜索结果的可见性

Php 如何使具有唯一ID的URL美观并提高搜索结果的可见性,php,seo,friendly-url,clean-urls,pretty-urls,Php,Seo,Friendly Url,Clean Urls,Pretty Urls,我的团队正在开发一个新网站,为一家公司提供“在线旅游注册”服务。在设计旅游页面时,我们讨论了如何为每个旅游创建一个URL,这样每个人都能理解它,另一方面,这对搜索引擎来说是有意义的 所以我们开始分析实现漂亮URL的不同方法。考虑到每一个旅游都可以通过一个唯一的ID来识别,因此,一个示例旅游URL可能是这样的: http://www.example.com/tour/0x5P8btUJSo58LFh9Ukm114613052846 其中0x5P8btUJSo58LFh9Ukm11461305284

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

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

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


其中
0x5P8btUJSo58LFh9Ukm114613052846
是巡更的唯一ID。问题是,如何添加出发地和目的地的名称是URL,这样每个人都可以通过查看URL了解旅游的位置。你有什么建议?如果我们在URL中添加出发地和目的地,将如何声明具有相同目的地和出发地的不同旅行团?添加来源和目的地将如何影响搜索引擎优化和在搜索结果中的显示?

如果使用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]
我将使用Apache将/tour/目录的所有URL重写为单个脚本,并使用查询字符串将请求的路径传递给脚本

/tours/.htaccess:

RewriteEngine On
RewriteRule ^/?tours/?(.*)$ index.php?q=$1 [NC,L]
然后,在index.php中,让它处理
$\u获取['q']
的数据,格式可以任意。这样,您仍然可以保留指向当前页面的任何链接,但也可以接受新格式

为了区分不同的旅行团,我采用如下格式:


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

为什么不把日期也放在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/巴黎到马德里/2013-11-25

我可能会删除第二行-
选项+索引-
,因为索引只会显示tour.php。谢谢,所以您会推荐
http://www.example.com/tours/Origin/Destination/TourID
格式。但是
Origin
Destination
是不必要的,而且只需使URL美观,因为TourID实际上就足以调用TourID。我将TourID位置放入其中,以便您能够添加唯一的ID-这就是您想要的,以区分具有相同起点和目的地的不同旅游吗?谢谢,我同意你的看法。(我想知道是否有其他方法可以做到这一点。)啊-好的。你喜欢哪种方式?到目前为止,你在这里提到的方式,我还在努力;)你是在问应该使用哪种URL设计,或者如何实现不同的URL设计?@unor我是在问应该使用哪种设计。