Autor | Zpráva | ||
---|---|---|---|
MartinBen Profil |
#1 · Zasláno: 4. 4. 2012, 19:53:08
Dobrý den,
mam následující script, který mi dynamicky generuje sitemap. Jenže soubor má příponu php - sitemap.php. Potřeboval bych to nějakým způsobem změnit na sitemap.xml. Předpokládám použití funkce fopen nebo něco podobného. <?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\" <urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd\"> <url> <loc>http://kitlab.pef.czu.cz/1112zs/ete32e/04/</loc> <priority>1.0</priority> </url>"; $dir = opendir("."); while(($file = readdir($dir)) != false) { if (ereg("^.+.php", $file) && !(ereg("^index.php$", $file)) && !(ereg("^sitemap.php$", $file))) { $lastmod = date("Y-W-d", filectime($file)); echo "<url> <loc>http://kitlab.pef.czu.cz/1112zs/ete32e/04/" . $file . "</loc> <priority>0.8</priority> <lastmod>" . $lastmod . "<lastmod> <changefreq>weekly</changefreq> </url>\n"; } } closedir($dir); echo "</urlset>"; ?> Pokdu někdo víte, budu rád. V PHP jsem začátečník... |
||
ShiraNai7 Profil |
Nebo mod_rewrite.. v souboru .htaccess:
RewriteEngine on RewriteCond %{REQUEST_URI} ^/sitemap\.xml$ RewriteRule .* /sitemap.php [L] Pak požadavek na sitemap.xml bude generován skriptem sitemap.php. |
||
MartinBen Profil |
#3 · Zasláno: 4. 4. 2012, 22:02:55
ShiraNai7:
Díky moc... No toto řešení mě taky napadlo, jenže mi nejde editovat .htaccess :-( |
||
Kajman Profil |
#4 · Zasláno: 5. 4. 2012, 00:15:00
Tak v tom php si generovanou mapu uložte do xml souboru a pak ho volejte tak často, jak je potřeba.
|
||
Jenicek Profil |
$fp = FOpen ("sitemap.xml", "w"); FWrite ($fp, $sitemap); FClose ($fp); proč to dělat složitě když to jde sednoduše? em? :D |
||
Majkl578 Profil |
Jenicek:
„proč to dělat složitě když to jde sednoduše? em? :D“ A proč se tím pravidlem tedy neřídíš? file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . 'sitemap.xml', $sitemapXml); MartinBen: Funkci ereg bys neměl používat, v blízké době bude z PHP odstraněna, již teď generuje hlášku úrovně E_DEPRECATED. Místo echo budeš nyní jen skládat XML do proměnné $sitemapXml a následně vše uložíš výše uvedeným. Případně může rovnou zapisovat do souboru opakovaným voláním fwrite v kombinaci s kódem v [#5].
|
||
Jenicek Profil |
#7 · Zasláno: 5. 4. 2012, 02:49:41
jo tak sorry, napsal jsem první co si ještě z php pamatuji
:) :D |
||
Kajman Profil |
#8 · Zasláno: 5. 4. 2012, 08:45:31
Ještě jemožné vytvořit soubor sitemap.xml, který se odkáže na ten php soubor...
<?xml version="1.0" encoding="UTF-8"?> <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <sitemap><loc>http://kitlab.pef.czu.cz/1112zs/ete32e/04/sitemap.php</loc></sitemap> </sitemapindex> |
||
Časová prodleva: 3 dny
|
|||
MartinBen Profil |
#9 · Zasláno: 8. 4. 2012, 01:27:53
Děkuji všem... :-)
|
||
Časová prodleva: 12 let
|
0