Мне нужно создать карту сайта в приложении codeigniter. Я нашел несколько библиотек, но все они устарели и имеют ошибку. Мне действительно нужна отдельная библиотека для этого?
Я хочу знать, как лучше всего создать карту сайта в кодеригере.
Мне нужно создать карту сайта в приложении codeigniter. Я нашел несколько библиотек, но все они устарели и имеют ошибку. Мне действительно нужна отдельная библиотека для этого?
Я хочу знать, как лучше всего создать карту сайта в кодеригере.
Вы можете использовать мой код:
Контроллеры/seo.php
Class Seo extends CI_Controller {
function sitemap()
{
$data = "";//select urls from DB to Array
header("Content-Type: text/xml;charset=iso-8859-1");
$this->load->view("sitemap",$data);
}
}
вид/sitemap.php
<?= '<?xml version="1.0" encoding="UTF-8" ?>' ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc><?= base_url();?></loc>
<priority>1.0</priority>
</url>
<!-- My code is looking quite different, but the principle is similar -->
<?php foreach($data as $url) { ?>
<url>
<loc><?= base_url().$url ?></loc>
<priority>0.5</priority>
</url>
<?php } ?>
</urlset>
добавить строку в config/routes.php
$route['seo/sitemap\.xml'] = "seo/sitemap";
Извините, если в коде есть некоторые ошибки, я сделал это специально для вас. Если есть ошибки, вы можете легко их исправить, поняв принцип.
Должен установить заголовок:
<?php header('Content-type: text/xml'); ?>
<?= '<?xml version="1.0" encoding="UTF-8" ?>' ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc><?= base_url();?></loc>
<priority>1.0</priority>
</url>
<!-- My code is looking quite different, but the principle is similar -->
<?php foreach($data as $url) { ?>
<url>
<loc><?= base_url().$url ?></loc>
<priority>0.5</priority>
</url>
<?php } ?>
</urlset>
Настоятельно рекомендуется добавить ссылку файла Sitemap в файл robots.txt следующим образом:
Sitemap: http://www.yoursite.com/seo/sitemap
Я написал модель CodeIgniter, которая позволила вам вызывать функции из контроллера sitemap и выплевывать XML, когда вы все сделали, загрузив карту сайта.
Не забудьте взглянуть и повторно использовать модель CodeIgniter: