/ / Używanie htaccess do "fałszowania" pliku XML? - php, xml, .htaccess, sitemap

Korzystanie z htaccess do "fałszowania" pliku XML? - php, xml, .htaccess, sitemap

Oto problem, który próbuję rozwiązać: Mam dynamiczną stronę internetową opartą na php, która jest ciągle aktualizowana o nowe treści i chcę, aby moja mapa witryny XML była aktualizowana automatycznie. Dwie opcje, które widzę:

  1. Napisz skrypt PHP, który wysyła zapytanie do mojej bazy danych, aby uzyskać dostęp do wszystkich moich treści i wyników http://mysite.com/sitemap.xml, wykonuj skrypt regularnie, używając zadania cron.
  2. Po prostu utwórz moją mapę witryny jako plik php (sitemap.php), wyślij zapytanie do db i napisz bezpośrednio do tego pliku i użyj reguły htaccess przepiszania RewriteRule ^sitemap.xml$ sitemap.php tak, że gdy ktoś zażąda sitemap.xml, zostanie skierowany do pliku php i otrzyma nowy plik mapy witryny.

Wolę iść z opcją # 2, ponieważ jest to prostsze i nie wymaga konfiguracji crona, ale zastanawiam się, czy Googlebot nie rozpozna sitemap.xml jako prawidłowego, jeśli faktycznie jest to plik php?

Czy ktoś wie, czy opcja nr 2 zadziała, a jeślinie, czy jest jakiś lepszy sposób na automatyczne utworzenie aktualnego pliku sitemap.xml? Jestem naprawdę zaskoczony, jak wiele problemów miałem z tym ... Dzięki!

Odpowiedzi:

5 dla odpowiedzi № 1

Tylko upewnij się, że twój skrypt generuje odpowiednie Content-Type nagłówek. Możesz to zrobić za pomocą nagłówek().


1 dla odpowiedzi nr 2

Google otrzyma tylko nagłówki i treśćodpowiedź. Jeśli twój skrypt php zwróci te same nagłówki i to samo ciało, co zwróci serwer WWW, to nie ma technicznej różnicy między odpowiedzią skryptu PHP lub odpowiedzią pliku XML na twój serwer. Posługiwać się curl -i http://example.com/ aby sprawdzić nagłówki odpowiedzi na żądanie, jeśli chciałbyś przetestować to samodzielnie.

Możesz więc bezpiecznie to zrobić, to jest to, co zostało zaprojektowane przez mod_rewrite (obok wielu innych rzeczy).