/ / Usando htaccess per "falsificare" un file XML? - php, xml, .htaccess, sitemap

Usando htaccess per "falsificare" un file XML? - php, xml, .htaccess, sitemap

Ecco il problema che sto cercando di risolvere: Ho un sito web dinamico basato su php che viene costantemente aggiornato con nuovi contenuti e voglio che la mia sitemap XML sia sempre aggiornata. Due opzioni che vedo:

  1. Scrivi uno script php che interroga il mio database per ottenere tutto il mio contenuto e le mie uscite http://mysite.com/sitemap.xml, esegui regolarmente lo script usando un cron job.
  2. Basta creare la mia sitemap come file php (sitemap.php), interrogare il db e scrivere direttamente su quel file, e usare la regola di riscrittura htaccess RewriteRule ^sitemap.xml$ sitemap.php cosicché ogni volta che qualcuno richiede sitemap.xml viene indirizzato al file php e ottiene un nuovo file Sitemap.

Preferisco di gran lunga optare per l'opzione n. 2 dal momento che è più semplice e non richiede la configurazione di un cron, ma mi chiedo se Googlebot non riconoscerà sitemap.xml come valido se in realtà è un file php?

Qualcuno sa se l'opzione # 2 funzionerebbe, e seNon so se c'è un modo migliore per creare automaticamente un file sitemap.xml aggiornato? Sono davvero sorpreso di quanti problemi ho avuto con questo ... Grazie!

risposte:

5 per risposta № 1

Assicurati solo che lo script generi l'appropriato Content-Type intestazione. Puoi farlo con intestazione().


1 per risposta № 2

Google otterrà solo le intestazioni e il corpo dila risposta. Se il tuo script php restituisce le stesse intestazioni e lo stesso corpo del tuo server web restituirebbe, non c'è tecnicamente alcuna differenza tra la risposta allo script PHP o la risposta del file XML dal tuo server. Uso curl -i http://example.com/ per controllare le intestazioni di risposta di una richiesta se desideri testarla da sola.

Quindi puoi tranquillamente farlo, quello è per cosa è stato progettato mod_rewrite (accanto a molte altre cose).