首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >针对kml文件类型的搜索引擎优化

针对kml文件类型的搜索引擎优化
EN

Stack Overflow用户
提问于 2009-12-09 17:37:09
回答 1查看 1.8K关注 0票数 2

我有一个网站,生成kml文件。像这样的uri : /tokml?gid=2846

生成如下文件: Mt。Dana峰会Trail.kml

在PHP脚本中使用Header('Content-Disposition: inline; filename="Mt. Dana Summit Trail.kml"');并在Apache http服务器上运行。

但是在谷歌上搜索filetype:kml将不会给出我的网站的任何结果。我可以缓存所有的kml文件并构建一个uri,如下所示: /kml/Mt。Dana峰会Trail.kml

但是有没有其他的解决方案呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-12-10 20:17:31

根据我的经验,谷歌通常会很好地索引查询字符串中带有标识符的URLs因此,在搜索filetype:kml时似乎很奇怪什么都没有显示出来。如果你能发布一个链接到有问题的站点,或者向/tokml?gid=2846提供一个请求的响应报头的完整副本,那就太好了--这些报头中可能隐藏着某种“拦截器”。

为每个文档分配一个“真正的”URL (不带查询字符串参数)通常是一个好主意,而且您不需要通过磁盘缓存来实现这一点。如果您的PHP应用程序托管在Apache上,您可以通过在应用程序的.htaccess文件中包含以下内容,让mod_rewrite将漂亮的URL转换为查询字符串版本:

代码语言:javascript
运行
复制
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule ^kml/([^.]+)\.kml$ tokml?slug=$1 [NC]

您可能想要在数据模型中添加一个额外的字段,以保存每个KML文件的"url slug“。该值通常与文件名几乎相同,但都是小写的,并且没有任何特殊字符-例如。mt-dana-summit-trail。通过在URL中使用此字段而不是实际名称,用户和机器人将避免看到充满丑陋的编码字符值的URL。

每当您写出指向KML文件的链接时,请使用新的URL样式:

代码语言:javascript
运行
复制
<a href="/kml/mt-dana-summit-trail.kml">Mt. Dana Summit Trail</a>

在您的tokml脚本中,检索slug查询字符串键,并在查找相关数据对象时使用此键而不是gid。注意重写规则如何捕获url段并将其作为一个很好的老式查询字符串参数传递给脚本。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1872684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档