Поддержка Проблемы и решения Не работает функция по ссылке на сайте с русским названием

  • Этот код (похожий) работает на другом сайте (но там название сайта на англ):

    // Генерация файла xml
    function r5ua_function_products_test_xml() {
        $text_all = '<?xml version="1.1" encoding="UTF-8" ?>';
        $text_all .= '<greeting>Hello, world!</greeting>';
        // Gen FULL DATA
        return "$text_all";
    }
    // Добавляем вызов функции по запросу
    add_action('init', function() {
    	if ( $_SERVER['REQUEST_URI'] != '/test.xml' ) return;
        // генерируем и отдаем XML
        header('Content-Type: text/xml; charset=utf-8');
        header('Content-Disposition: attachment; filename="test.xml"');
    	$xml_data = r5ua_function_products_test_xml();
    	die($xml_data);
    });
Просмотр 15 ответов — с 1 по 15 (всего 20)
  • русский урл записан пуникодом в настройках сайта?

    русский урл записан пуникодом в настройках сайта?

    А как это можно проверить?

    Посмотрел статус в woocommerce:

    Адрес WordPress (URL):
    Адрес сайта (URL):

    Оба адреса на русском

    Модератор Yui

    (@fierevere)

    永子

    Оба адреса на русском

    отсюда и ошибка
    адрес должен писаться в punycode
    если браузер может переводить в punycode сам, то в других местах обычно это не делается.

    То есть мне теперь нужно везде (в папке сайта на хостинге) заменить текст адреса сайта на переведенный? а тогда сайт будет открываться по русскому адресу?

    Поменял в базе данных в таблице options два поля.
    В статусе изменилось, но ссылка все равно не работает =((

    Модератор Yui

    (@fierevere)

    永子

    заменить в настройках сайта
    заменить там, куда вы его прописывали

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

    Все так и сделал, все равно возвращает 404 =((

    
    var_dump( $_SERVER['REQUEST_URI'] );
    

    посмотрите, что там.

    и да — сменить урл в базе данных недостаточно, поменяйте в настройках сайта и сохраните изменения. даже если в настройках уже пуникод — все равно нажмите сохранить.

    и да — сменить урл в базе данных недостаточно, поменяйте в настройках сайта и сохраните изменения. даже если в настройках уже пуникод — все равно нажмите сохранить.

    я это делал

    посмотрите, что там.

    На основной сайт возвращает «/»
    На ту ссылку которую я отправляю файл — сразу 404

    Наверно лучше сайт на англ сделать =)

    вы ссылку то на файл проверяете через пуникод или опять русской домен пишите?

    вы ссылку то на файл проверяете через пуникод или опять русской домен пишите?

    Я пишу на пуникоде а браузер все равно переводит на русский

    Модератор Yuri

    (@yube)

    На «русском» сайте ЧПУ включено и работает? WP в корне сайта или в папке?

    Вот насколько проще, когда люди сразу дают адрес проблемной страницы. Но нет же, как ни партизан, так любитель локалхоста. А ты тут сиди и пялься в хрустальный шар…

Просмотр 15 ответов — с 1 по 15 (всего 20)
  • Тема «Не работает функция по ссылке на сайте с русским названием» закрыта для новых ответов.