- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Всем привет.
Столкнулся с такой проблемой, что нужно было с кириллических тегов сделать редирект на urlencode [DLE], так как по сути это две одинаковые страницы, на urlencode я могу менять титлы и вставлять описание, а на кириллице нет.
Нашел на этом форуме решение:
в engine.php после этой строки: $tag = iconv( "UTF-8", "windows-1251//IGNORE", $tag );
добавил это:
header('Location: '.$config['http_home_url'].'tags/'.urlencode($tag).'/', true, 301);
exit;
После этого все теги автоматически стали переводятся на urlencode, и недоступны более на кириллице, но если есть тег на английском языке, то происходит "циклическая переадресация".
Подскажите, пожалуйста, возможно ли исправить эту проблему, но чтобы по прежнему все теги с кириллицы, перенаправлялись на urlencode?
Как вариант, строчку $tag = iconv( "UTF-8", "windows-1251//IGNORE", $tag );
Заменить на
Более правильно наверное будет заюзать такую вот функцию, так как в utf8 может быть не только символьный класс /[а-я]/i
где-то в functions.php добавить
строчку $tag = iconv( "UTF-8", "windows-1251//IGNORE", $tag );
заменить на
Как вариант, после этой строки $tag = iconv( "UTF-8", "windows-1251//IGNORE", $tag );
Добавить
Не помогло, кириллические теги не переводит в urlencode, просто исчезла циклическая переадресация.
Не помогло, кириллические теги не переводит в urlencode, просто исчезла циклическая переадресация.
Я с именем переменной немного ошибся, еще раз скопируйте код
Нет, не первый не второй способ не переводит теги в urlencode(
Вообщето да, нужно не добавлять, а заменить
на
Во втором способе аналогично. Добавляем $utf8Tag = $tag; и в условие заменяем $tag на $utf8Tag
и exit; после header не забудьте
Теперь все работает отлично, и первый и второй способ. Спасибо за помощь!)
Вот это это еще
preg_match("/[\xd0\xb0-\xd1\x8f\xd0\x90-\xd0\xaf]/u", $utf8Tag)
можно заменить на
preg_match("/[\300-\337][\200-\277]/", $utf8Tag)