it-swarm-tr.com

Google site haritası oluşturucu hedef dizinini nasıl belirlerim

Google Site Haritası Oluşturuc 'nun en son sürümünü kullanarak oluşturulan site haritası dosyalarının konumunu belirtmenin bir yolu var mı?

Sürüm: 1.0.0.0? (çok un-google sürüm numarası, lol):

> Sudo /usr/local/google-sitemap-generator/bin/sitemap-daemon -v
Google Sitemap Generator (Beta) Version [1.0.0.0]

Kontrol panelinde " Site Haritası dosya adı " seçeneği var, ancak hedef dizini belirtme seçeneği yok mu? Her zaman oluşturulan site haritası XML dosyalarını belge köküne yerleştirir. Sanırım doküman kökünün web sunucusu kayıtlarını okuduğunu keşfeder .

Neden site haritası dosyalarını başka bir dizine koymak istiyorum?

Belge kökü dağıtım yöntemimiz için iyi değil çünkü günlük olarak değişen geçerli dağıtım dizinine bir symlink 'dir. Site haritalarının URL kökündeymiş gibi görünmesi için (örneğin, http://www.example.com/sitemap.xml), XML dosyalarını gerçekte sakladığımız yere eşlemek için bir takma ad kullanırız, ör. nginx kullanarak:

# Alias all XML files (e.g. Rss) to shared directory
location ~* /(.*\.xml)$ {
    alias /var/www/live/shared/xml/$1;    
}
3
Tom

resmi site haritası protokolü diyor ortak URL'de paylaştığı tüm dosyaların ortak URL'de bulunması gerekir. Öyleyse, site haritanızdaki URL'ler http://www.example.com/site/image1.jpg ve http://www.example.com/site/mypage.html biçimindeyse, sitemap.xml dosyasını http://www.example.com/site/sitemap.xml veya http://www.example.com/sitemap.xml içine koyabilirsiniz.

Herhangi bir nedenden dolayı bu dizine bir site haritası koyamazsanız, .htaccess veya ISAPI Yeniden Yazma (veya başka bir URL yeniden yazıcınız) kökündeymiş gibi "taklit" ettiği sürece, sunucunuzda herhangi bir yere koyabilirsiniz. Bunu bir ASP sitesinde ISAPI Rewrite kullanarak başarıyla yaptım.

5
JoshMock

Bu aracı kullanmadım, bu yüzden sorunuzun doğrudan cevabını bilmiyorum. Ancak, dosyaları başka bir yere koymanın bir yolunu bulamazsanız, bunları aşağıdaki gibi farklı bir klasöre kopyalayabilirsiniz:

cp -t sitemaps/ *.xml

sitemaps, klasör adıdır ve *.xml, .xml uzantısına sahip olduklarını varsayarsak tüm girdi dosyalarını seçer. Site haritası oluşturucuyu çalıştıran bir toplu komut dosyası oluşturabilir ve dosyaları bir arada kopyalayabilirsiniz.

Resmi protokol, site haritalarının kökte olması gerektiğini söylese de, gerçekte aynı alanda herhangi bir yere gidebilirler (onları daha önce problemsiz bir şekilde kendi site haritaları klasörlerine koydum).

Ayrıca çok fazla site haritanız varsa bir site haritası dizin dosyası oluşturmalısınız. Bu şekilde, dizin dosyasını yalnızca her web yöneticisi aracına göndermeniz gerekir.

2
DisgruntledGoat

Aynı sorunu yaşadım ve cevabımı burada ya da herhangi bir google yardım ya da yapılandırma dosyasında bulamadım. O yüzden burada paylaşayım!

Günlüklerimi okudum ve görüyorum:

2012-08-21T17: 55: 01Z: Yazar dosyayı açamıyor: /htdocs/web_sitemap_4149a902_000.xml (2)

Sistem kök dizininizde "htdocs" adlı bir sembolik bağlantı oluşturmalısınız:

cd /
ln -s /home/www/yoursiterootdir htdocs

Symlinks Windows üzerinde çalışıp çalışmadığını sorma ama bu komutu Windows'taki inekler için neredeyse "ln" (NTFS) buldum!

mklink [[/D] | [/H] | [/J]] linkName target

ve sonra :

2012-08-21T18: 05: 01Z: Site için [Web Site Haritası] oluşturmayı başardı [....]

ve ihtiyacım olan yer

keyfini çıkarın

1
Mea_Poulpa