Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2012, 18:08   #11
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

http://www.sitemaps.org/ru/protocol.html#escaping вот смотрите требования... что на что заменять
ADSoft на форуме Ответить с цитированием
Старый 04.04.2012, 18:10   #12
keen_
Форумчанин
 
Регистрация: 07.12.2011
Сообщений: 112
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Пользователь тут не при чем.
Код, который формирует sitemap.xml - должен автоматически заменять служебные символы.
Вы сначала разберитесь, какие именно символы вызывают ошибку (методом исключения).
А потом решим, как и на что их заменить - способов много.
Так я знаю, что ошибка происходит из-за того, что там присутствует & в URL.
keen_ вне форума Ответить с цитированием
Старый 04.04.2012, 18:10   #13
keen_
Форумчанин
 
Регистрация: 07.12.2011
Сообщений: 112
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
http://www.sitemaps.org/ru/protocol.html#escaping вот смотрите требования... что на что заменять
Ага, спасибо, посмотрю и попытаюсь разобраться.
keen_ вне форума Ответить с цитированием
Старый 04.04.2012, 18:15   #14
keen_
Форумчанин
 
Регистрация: 07.12.2011
Сообщений: 112
По умолчанию

Так я понимаю, что & нужно заменять на &.
Но не будет же пользователь всё это заменять, ему нужно чтобы всё было в доступной человеческой форме.
keen_ вне форума Ответить с цитированием
Старый 04.04.2012, 18:18   #15
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от keen_ Посмотреть сообщение
Так я понимаю, что & нужно заменять на &.
Но не будет же пользователь всё это заменять, ему нужно чтобы всё было в доступной человеческой форме.
Цитата:
Сообщение от Andkorol Посмотреть сообщение
Пользователь тут не при чем.
Код, который формирует sitemap.xml - должен автоматически заменять служебные символы.
Я ж надеюсь - вы не вручную sitemap.xml создаете...?
Один из способов замены вам уже предложили ранее.
Andkorol вне форума Ответить с цитированием
Старый 04.04.2012, 19:02   #16
keen_
Форумчанин
 
Регистрация: 07.12.2011
Сообщений: 112
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Я ж надеюсь - вы не вручную sitemap.xml создаете...?
Один из способов замены вам уже предложили ранее.
Не понимаю, что имеете в виду.
У меня сайтмап тотально некорректно показывается, вот, посмотрите.
Я просто хотел, чтобы всё работало без ошибок и правильно генерилась карта.
keen_ вне форума Ответить с цитированием
Старый 04.04.2012, 19:26   #17
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от keen_ Посмотреть сообщение
Не понимаю, что имеете в виду.
...
Я просто хотел, чтобы всё работало без ошибок и правильно генерилась карта.
Вставьте код замены служебных символов в тот код, который создает вам ваш sitemap.xml - ну как тут еще объяснить..?
Sitemap же не из воздуха у вас появляется? Его генерирует некий код, у вас в движке (это если сделано по уму всё). Вот в этот код и добавьте функционал замены.
Перед добавлением информации непосредственно в sitemap.xml - в этой информации должны заменяться служебные символы.
Andkorol вне форума Ответить с цитированием
Старый 05.04.2012, 01:38   #18
keen_
Форумчанин
 
Регистрация: 07.12.2011
Сообщений: 112
По умолчанию

Так бы сразу и сказали конкретно.
Сейчас стало более-менее ясно

В движке есть папка mods с файлами модулей. Есть там файл xmlmap.php. Это в нём нужно добавлять код конвертации символов? Не подскажете в какое место вписывать?

Вот этот файл:

PHP код:
<?
    header
('Content-type: application/xml');
    
$date date("Y-m-d");
    echo 
'<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'
;
    foreach (
$langs as $index => $value) {
        
$add_lang = ($value['default'] == 1) ? '' $value['prefix'].'/';
        foreach (
$page_rewrite as $index => $value) {
            echo 
'
    <url>
        <loc>'
.$url_empty.$add_lang.$value.'</loc>
        <lastmod>'
.$date.'</lastmod>
        <priority>0.9</priority>
    </url>'
;
        }
}
        echo 
'
</urlset>'
;
        die();
?>
keen_ вне форума Ответить с цитированием
Старый 05.04.2012, 01:42   #19
keen_
Форумчанин
 
Регистрация: 07.12.2011
Сообщений: 112
По умолчанию

А ещё в index.php есть код как мне кажется имеющий отношение к sitemap.xml.
Вот этот кусок:

PHP код:
    $sitemapxml_pos 0;
    if (!
$auto_lang$sitemapxml_pos 1;

    if ((isset(
$uri[$sitemapxml_pos])) and ($uri[$sitemapxml_pos] == 'sitemap.xml')) {
        require 
"mods/xmlmap.php";
    }
    if ((isset(
$uri[$sitemapxml_pos]) and ($uri[$sitemapxml_pos] == 'robots.txt'))) {
        echo 
$current_site['robots'];
        die();
    } 
keen_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доработка php скрипта для sitemap noobasic Фриланс 0 29.11.2011 22:30
sitemap asnikifor PHP 1 01.10.2011 19:02
php sitemap fsockopen Kostia PHP 5 22.07.2011 11:49
Sitemap feesta Помощь студентам 0 21.04.2011 23:14
Сканер(редактор) SITEMAP.XML Виталий Серов Софт 11 25.05.2009 00:09