динамически создавать карту сайта xml с помощью php

Я создал карту сайта для своего сайта, используя некоторый справочный код в приведенной ниже ссылке.

Создание карты сайта XML с помощью PHP

Но я получаю сообщение об ошибке

Ошибка синтаксического анализа XML: неопределенный объект Расположение:

поскольку мой контент выглядит следующим образом

‹********************************************************************************************************************************************************************************************************************************************************************************************* атрибут

‹Loc> http://www.example.com/700- & laquo; alt & raquo ; -attributes-in-images.php ‹/ loc>

Может кто подскажет, как избавиться от этой ошибки.


person Rekha    schedule 13.06.2010    source источник
comment
Динамически не очень хорошее имя тега. На самом деле это не добавляет ценности посту.   -  person Travis    schedule 13.06.2010
comment
Привет, я все еще не решил эту проблему .. Кто-нибудь поможет мне решить эту проблему.   -  person Rekha    schedule 15.06.2010
comment
Предоставьте код, который вы используете для создания фрагмента, вызывающего ошибку.   -  person Gordon    schedule 20.08.2010


Ответы (2)


Я думаю, вам просто нужно использовать функцию urlencode() для значения ссылки и повторно преобразовать объекты перед использованием html_entity_decode():

echo '<loc>'.urlencode(html_entity_decode($link)).'<loc>';

или что-то подобное в вашем коде.

person 2ndkauboy    schedule 08.09.2010

Лучшее решение - получить доступ к корневой папке и добавить в файл Apache .htaccess следующие строки

RewriteEngine On
RewriteRule sitemap\.xml sitemap.php [L]

а затем просто иметь файл sitemap.php в вашей корневой папке, который, следовательно, будет обычно доступен через http://yoursite.com/sitemap.xml, URL-адрес по умолчанию, по которому все поисковые системы будут сначала искать.

Этот файл sitemap.php должен начинаться с

<?php header('Content-type: application/xml; charset=utf-8') ?>
<?php echo '<?xml version="1.0" encoding="UTF-8"?>' ?>

У меня есть это решение, и оно работает как шарм :)

person João Pimentel Ferreira    schedule 02.03.2017