根据我的经验,谷歌通常在查询字符串中很好地索引带有标识符的 URL - 因此,搜索filetype:kml
. 如果您可以发布指向相关站点的链接,或者提供来自请求的响应标头的完整副本,那就太好了/tokml?gid=2846
- 这些标头中可能隐藏着某种“阻止程序”。
为每个文档分配一个“真实的”URL(不带查询字符串参数)通常是一个好主意,您不需要磁盘缓存 KML 文件来实现这一点。如果您的 PHP 应用程序托管在 Apache 上,您可以让mod_rewrite将漂亮的 URL 转换为查询字符串版本,方法是将其包含在.htaccess
应用程序的文件中:
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule ^kml/([^.]+)\.kml$ tokml?slug=$1 [NC]
您可能希望在数据模型中添加一个额外的字段,为每个 KML 文件保存一个“url slug”。该值通常与文件名几乎相同,但全部小写且没有任何特殊字符 - 例如。mt-dana-summit-trail
. 通过在 URL 中使用此字段而不是实际名称,用户和机器人将避免看到充满丑陋的编码字符值的 URL。
每当您写出指向 KML 文件的链接时,请使用新的 URL 样式:
<a href="/kml/mt-dana-summit-trail.kml">Mt. Dana Summit Trail</a>
在您的tokml
脚本中,检索然后slug
查询字符串键,并gid
在查找相关数据对象时使用它而不是使用它。请注意重写规则如何捕获 url slug 并将其作为良好的老式查询字符串参数传递给脚本。