Ребята такая проблема и не как не могу решать
Например одна страница моего сайта http://site.ru/smotret-online/16670/realyno!-konditer-2017/
По скольку в урл есть символ «!» страница не открывется, вместо фильма открывается 404. php страница(материал не найден).
Когда удаляю символ «!», страница с фильмом открывается.
http://site.ru/smotret-online/16670/realyno-konditer-2017/Как можно решать эту проблему?
1. Есть код в htaccess или php с помощью которого все такие символы будут игнорированы и страница будет открыватся с этим символом.
2. Или как можно через htaccess или php сделать так чтобы где есть такие символы, они автоматически удалялись из урлВ основном в урлах встречаются такие символы и ссылки начинают не работать: & ! ( ) [ ] * + и пробел
Пытался через php получить ссылку, найти эти символы и удалить, и сделать редирект на страницу без символов, но не получилась.
Спасибо
@kikosik, где генерируются алиасы, там и нужно удалять всё лишнее.
— Добавлено —PHP:
<?php $name = ‘Реально! Кондитер 2017 & ! ( ) [ ] * +’; $pattern = [‘/[\pP\pS\s]/u’, ‘/[-]+/’, ‘/[-]+$/’]; $replace = [‘-‘, ‘-‘, »]; // дальше — транслитерация
Я не понял этот код удаляет и символ «-» ис урл?
— Добавлено —
Код не работает, в тех страницах где есть эти символы, страница по старому открывается(материал не найден).А в тех страницах где нету этих символах, страница вообше не открывается.
This page isn’t working
kinopark.su is currently unable to handle this request.HTTP ERROR 500
Вы даже в суть проблемы не вникли. Как можно при этом надеяться на пмощь?
Если страница открывается по адресу без «!» и не открывается по адресу с «!», это значит, что у нее адрес без «!», а не то, что вы написали. Если внешняя ссылка содержит «!», то нужен либо редирект на правильный адрес, либо подстраивание адреса под эту ссылку, либо нужно забить на это дело. Если все-таки внутренняя ссылка кривая, то нужно смотреть, как она формируется/где хранится: если это просто кривая ссылка в контенте, правим контент; если кривая ссылка (или часть ссылки, т.н. слаг) берется непосредственно от объекта, который она адресует, это значит, что вы используете в таких адресах/слагах символы, запрещенные/подчищаемые вашими же собственными правилами, – либо меняйте правила на предмет пропуска всех используемых символов, либо не используйте запрещенные вашими правилами символы (добавьте в админку запрет/чистку недопустимых символов при сохранении адреса/слага; на фронте при этом правила можно смягчить).
miketomlin то есть можно в cpanel сделать так чтобы ссылки такими символами работали?
Я нашел ответ на ваш вопрос по адресу https://cryptoxer.ru/forum/url-php-help/ Здесь сказано, как это сделать. Там написан рабочий код, берите и пользуйтесь в своем проекте.