Question

J'ai un site Web qui génère des fichiers KML. Un uri comme ceci: / Tokml? Gid = 2846

Génère un fichier comme celui-ci: Mt. Sommet Dana Trail.kml

Utilisation Header('Content-Disposition: inline; filename="Mt. Dana Summit Trail.kml"'); dans un script PHP et en cours d'exécution sur Apache serveur http.

Mais une recherche Google sur filetype: kml ne donnera aucun résultat de mon site Web. Je pourrais mettre en cache tous les fichiers kml et construire un uri comme ceci: / kml / Mt. Sommet Dana Trail.kml

Mais sont-il d'autres solutions?

Était-ce utile?

La solution

D'après mon expérience, Google URL généralement d'index avec un identifiant dans la chaîne de requête très bien - donc, il semble étrange que rien du tout apparaît lors de la recherche filetype:kml. Ce serait bien si vous pouviez poster un lien vers le site en question ou de fournir une copie complète des en-têtes de réponse d'une demande à /tokml?gid=2846 -. Il pourrait y avoir une sorte de « blocage » caché dans les en-têtes

Attribution d'une URL « réelle » (sans paramètres de chaîne de requête) pour chaque document est généralement une bonne idée, et vous ne devriez pas besoin de cache disque vos fichiers KML pour y parvenir. Si votre application PHP est hébergé sur Apache, vous pouvez laisser mod_rewrite Traduisez les jolies URL dans les versions de chaîne de requête, en incluant ce dans un fichier .htaccess pour l'application:

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule ^kml/([^.]+)\.kml$ tokml?slug=$1 [NC]

Vous pouvez ajouter un champ supplémentaire à votre modèle de données, de tenir une « slug url » pour chaque fichier KML. La valeur serait typiquement presque le même que le nom du fichier, mais tous et sans en minuscules caractères spéciaux - par exemple. mt-dana-summit-trail. En utilisant ce domaine dans l'URL au lieu du nom réel, les utilisateurs et les robots éviteront de voir des URL complètes des valeurs laids, caractères codés.

Chaque fois que vous écrivez un lien vers un fichier KML, utilisez le nouveau style URL:

<a href="/kml/mt-dana-summit-trail.kml">Mt. Dana Summit Trail</a>

Dans votre script tokml, récupérer puis slug clé de chaîne de requête et utiliser - au lieu de gid - lors de la recherche de l'objet de données pertinentes. Remarquez comment la règle de réécriture fait une capture de la limace url et il passe au script comme un bon vieux paramètre de chaîne de requête.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top