XML sitemap generálási hiba
Sziaztok!
Megprobálom röviden, érthetően vázolni a problémámat.
A probléma:
A www.xml-sitemaps.com hibát talál az oldal feltérképezése során. Jelenleg kétféle hibát tudok előidézni:
Hiba 1:
www.domain.hu/hirek-12/... -t négyszer linkeli be/rögzíti az XML-be.
Ebből egy link lenne a helyes, maga a hír url-je: www.domain.hu/hirek-12/draga-benzin.html
De sajnos megtalál még olyan oldalakat is, hogy:
www.domain.hu/hirek-12/index.html
www.domain.hu/hirek-12/kapcsolat.html
www.domain.hu/hirek-12/referenciak.html, stb.
Az előbbi 3 aloldal, önmagában létező oldalak, azaz ezeken a linkeken érhetőek el:
www.domain.hu/index.html
www.domain.hu/kapcsolat.html
www.domain.hu/referenciak.html
De valamiért a program egy adott hírről is megtalálja oldalt, pedig a gyakorlatban ez úgy néz ki, hogy ha egy adott hírt olvasok és rákattintok a kapcsolat menüpontra (kapcsolat.html), akkor a böngésző helyesen a www.domain.hu/kapcsolat.html-ra irányítódik át és nem a www.domain.hu/hirek-12/kapcsolat.html-ra.
Ahol esetleg a hiba lehet, hogy a 12-es hírt bármilyen url-en keresztül el lehet érni, ha a link a www.domain.hu/hirek-12/...bármire... mutat, mert a jelenleg használt hírek modul akkor fut le, ha a domain utan igy kezdődik az URI: hirek-[0-9]+/
Hiba 2:
Az első hiba megoldása végett, arra gondoltam, hogy csak akkor töltöm be ha hírt, ha az adott hír azonosítóhoz (12) tartozó hír címéből generált link (Drága benzin -> draga-benzin.html) megegyezik az URI végével. Azaz, ha az URI /hirek-12/draga-benzin.html akkor 200-as, egyéb esetben 404-es státuszt állítok be az oldalnak.
Ez csak félig jelentett megoldást mert, bár az xml-be már csak egyszer került be az adott hivatkozás, de a generátor program figyelmeztet, hogy nagyon sok a borken link-em - a fenti státusz állítgatás miatt.
Hát erről lenne szó, ezt kellene valahogy megoldanom, de nem tudom a mikéntjét, ezért bármilyen ötletet szívesen veszek.
Egyéb tudni valók:
- htaccess tartalma
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.php [QSA]
- a html fejlécben BASE tag a domain-re van állítva, ezért minden link relatív módon van címezve.
- motor működése
Ha az index.php az URI-ban "egyszintű" linket talál, pl.: /kapcsolat.html, akkor adatbázisból kikeresi a megfelelő rekordot és betölti, egyéb esetben pl.: /hirek-12/draga-benzin.html átadja a vezérlést a megfelelő modulnak.
Köszönöm!
■ Megprobálom röviden, érthetően vázolni a problémámat.
A probléma:
A www.xml-sitemaps.com hibát talál az oldal feltérképezése során. Jelenleg kétféle hibát tudok előidézni:
Hiba 1:
www.domain.hu/hirek-12/... -t négyszer linkeli be/rögzíti az XML-be.
Ebből egy link lenne a helyes, maga a hír url-je: www.domain.hu/hirek-12/draga-benzin.html
De sajnos megtalál még olyan oldalakat is, hogy:
www.domain.hu/hirek-12/index.html
www.domain.hu/hirek-12/kapcsolat.html
www.domain.hu/hirek-12/referenciak.html, stb.
Az előbbi 3 aloldal, önmagában létező oldalak, azaz ezeken a linkeken érhetőek el:
www.domain.hu/index.html
www.domain.hu/kapcsolat.html
www.domain.hu/referenciak.html
De valamiért a program egy adott hírről is megtalálja oldalt, pedig a gyakorlatban ez úgy néz ki, hogy ha egy adott hírt olvasok és rákattintok a kapcsolat menüpontra (kapcsolat.html), akkor a böngésző helyesen a www.domain.hu/kapcsolat.html-ra irányítódik át és nem a www.domain.hu/hirek-12/kapcsolat.html-ra.
Ahol esetleg a hiba lehet, hogy a 12-es hírt bármilyen url-en keresztül el lehet érni, ha a link a www.domain.hu/hirek-12/...bármire... mutat, mert a jelenleg használt hírek modul akkor fut le, ha a domain utan igy kezdődik az URI: hirek-[0-9]+/
Hiba 2:
Az első hiba megoldása végett, arra gondoltam, hogy csak akkor töltöm be ha hírt, ha az adott hír azonosítóhoz (12) tartozó hír címéből generált link (Drága benzin -> draga-benzin.html) megegyezik az URI végével. Azaz, ha az URI /hirek-12/draga-benzin.html akkor 200-as, egyéb esetben 404-es státuszt állítok be az oldalnak.
Ez csak félig jelentett megoldást mert, bár az xml-be már csak egyszer került be az adott hivatkozás, de a generátor program figyelmeztet, hogy nagyon sok a borken link-em - a fenti státusz állítgatás miatt.
Hát erről lenne szó, ezt kellene valahogy megoldanom, de nem tudom a mikéntjét, ezért bármilyen ötletet szívesen veszek.
Egyéb tudni valók:
- htaccess tartalma
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.php [QSA]
- a html fejlécben BASE tag a domain-re van állítva, ezért minden link relatív módon van címezve.
- motor működése
Ha az index.php az URI-ban "egyszintű" linket talál, pl.: /kapcsolat.html, akkor adatbázisból kikeresi a megfelelő rekordot és betölti, egyéb esetben pl.: /hirek-12/draga-benzin.html átadja a vezérlést a megfelelő modulnak.
Köszönöm!
Használj másikat
Az a gond, hogy próbáltam egy
Megcsináltathatod mással is a
Nem az XML megírása a gond -
Ezért érdekelne a véleményetek, hogy ez vélhetőleg a generátor progi "hibája", vagy esetleg a weboldal motoré.
Nem ismert
hirek-12/
és hogy miért baj, hogyValamint nem is ismerjük az oldalt, annak felépítését, működését, így az is lehet, hogy a generátor hibája. Például, lehet az oldal használ
<base>
elemet, de azt a generátor nem veszi figyelembe, ez okozhat hasonló problémákat.A másik dolog az, hogy ezek a generátorok amik online vannak, egyáltalán nem megbízhatók. Azaz simán lehet, hogy feleslegesen egy tartalmat többször is bevesznek, mert mondjuk ugyanannak a képnek a különböző méretű változatai, vagy pedig egy index oldal, amin több oldalon keresztül fel van sorolva az abba a kategóriába tartozó összes tartalom. Ezek sitemap-be pakolása teljesen felesleges, sőt, akár még büntetést is vonhat maga után.
Köszönöm Poetro az érdemi
Gondoltam, hogy látatlanban nem egyszerű jó választ adni, de ezzel már talán tudok valamit kezdeni.
Ha két generátor is ugyanazt
Itt lenne a tesztoldal:
Jelenleg kivettem a header 404-et, és így duplikálva rögzíti a generátor program a hírek allinkjeit.
Fura, hogy most ebben a butított, kevesebb aloldallal rendelkező verziónál csak a hirek.html-t találja meg újra, de az index, kapcsolat.html-t nem.
A /hirek-4/masodik-hir.html értelmezése a következő:
a hirek-4-ből a modul eldönti, hogy milyen információt kell keresnie (hírek), majd ezek közül a 4-es id-val rendelkezőt kell megjeleníteni.
A masodik-hir.html -nek semmi szerepe nincs a hír azonosításában, csak azért van, hogy teljes, "szép" legyen a link.
Poetronak igaza van, nem
Annyit kipróbálhatnál, hogy a http://weblabor.ahk.zyns.com/hirek-4/masodik-hir.html oldalon a végén a href-be nem hirek.html-t írsz, hanem /hirek.html-t.
Igen :)! Legalábbis ennél a
Köszönöm mindkettőtöknek!
Nyugodtan kérdezz bármikor! A