| 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 |
#2 · Zasláno: 4. 4. 2012, 20:22:55 · Upravil/a: ShiraNai7
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 |
#6 · Zasláno: 5. 4. 2012, 01:54:50 · Upravil/a: Majkl578
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: 1 rok
|
|||