Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как удалять лишние символы из урл
Форумы портала PHP.SU » » Вопросы новичков » Как удалять лишние символы из урл

Страниц (1): [1]
 

1. kikosik666 - 15 Февраля, 2018 - 15:08:39 - перейти к сообщению
Ребята такая проблема и не как не могу решать

Например одна страница моего сайта http://site[dot]ru/smotret-online/16[dot][dot][dot]!-konditer-2017/

По скольку в урл есть символ "!" страница не открывется, вместо фильма открывается 404. php страница(материал не найден).

Когда удаляю символ "!", страница с фильмом открывается.
http://site[dot]ru/smotret-online/16[dot][dot][dot]o-konditer-2017/

Как можно решать эту проблему?

1. Есть код в htaccess или php с помощью которого все такие символы будут игнорированы и страница будет открыватся с этим символом.
2. Или как можно через htaccess или php сделать так чтобы где есть такие символы, они автоматически удалялись из урл

В основном в урлах встречаются такие символы и ссылки начинают не работать: & ! ( ) [ ] * + и пробел


Пытался через php получить ссылку, найти эти символы и удалить, и сделать редирект на страницу без символов, но не получилась.

Спасибо
2. teleoperator27 - 15 Февраля, 2018 - 15:21:42 - перейти к сообщению
надо не в htaccess это делать, а находить, где формируются такие "неправильные" ссылки и исправлять эту проблему, а не костыли лепить. Вообще, выборка идет по id, так что можно и в htaccess правила поменять для игнорирования этих символов, но это неправильный подход.
3. kikosik666 - 15 Февраля, 2018 - 15:37:39 - перейти к сообщению
таких урл много, нужна автоматически все сделать
4. teleoperator27 - 15 Февраля, 2018 - 15:42:16 - перейти к сообщению
kikosik666 пишет:
таких урл много, нужна автоматически все сделать
много-немного, но берутся они все из одного места. Откуда вы их вообще откопали? Они есть на сайте, эти ссылки? или это где-то в статистике всплыло, что по ним переходили?
5. kikosik666 - 15 Февраля, 2018 - 15:44:57 - перейти к сообщению
teleoperator27 просто нужен код чтобы все автоматический сделать
6. teleoperator27 - 15 Февраля, 2018 - 15:55:17 - перейти к сообщению
Я еще раз спрошу: эти ссылки где-то на сайте или откуда-то из статистики типа яндекс-метрики выкопаны?
7. Строитель - 15 Февраля, 2018 - 17:02:32 - перейти к сообщению
kikosik666 пишет:
В основном в урлах встречаются такие символы и ссылки начинают не работать: & ! ( ) [ ] * + и пробел
А в каких частях URL'а встречаются эти символы? Все - только в одном месте (там где вы указали восклицательный знак)?
8. kikosik666 - 16 Февраля, 2018 - 09:49:53 - перейти к сообщению
сайт онлайн фильмов, из базы все берут
9. Строитель - 16 Февраля, 2018 - 10:45:19 - перейти к сообщению
kikosik666 >>>
10. yahosaha - 16 Февраля, 2018 - 18:22:17 - перейти к сообщению
kikosik666
У вас в браузере или на компьютере в файлах ничего не написано - скрипты или прочий вирусняк?
11. Строитель - 16 Февраля, 2018 - 18:46:33 - перейти к сообщению
kikosik666, или так (замена для всей строки):
Спойлер (Отобразить)
или так (замена для последней части строки):
Спойлер (Отобразить)
12. kikosik666 - 17 Февраля, 2018 - 09:55:42 - перейти к сообщению
Строитель пишет:
kikosik666, или так (замена для всей строки):
Спойлер (Отобразить)
или так (замена для последней части строки):
Спойлер (Отобразить)






Строитель я пробовал эти 2 варианта, но не помагает. !ерез php как ты не получается.
Через htaccess сделала так RewriteRule ^(.*)!(.*)$ $1$2 и работало для символа "!".
А для символов "& ( ) [ ] * + и пробел" такой код в htaccess не работает, Server Internal error

 

Powered by ExBB FM 1.0 RC1