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

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

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
kikosik666
Отправлено: 15 Февраля, 2018 - 15:08:39
Post Id


Новичок


Покинул форум
Сообщений всего: 46
Дата рег-ции: Апр. 2017  


Помог: 0 раз(а)




Ребята такая проблема и не как не могу решать

Например одна страница моего сайта 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 получить ссылку, найти эти символы и удалить, и сделать редирект на страницу без символов, но не получилась.

Спасибо
 
 Top
teleoperator27
Отправлено: 15 Февраля, 2018 - 15:21:42
Post Id



Посетитель


Покинул форум
Сообщений всего: 265
Дата рег-ции: Янв. 2017  


Помог: 21 раз(а)




надо не в htaccess это делать, а находить, где формируются такие "неправильные" ссылки и исправлять эту проблему, а не костыли лепить. Вообще, выборка идет по id, так что можно и в htaccess правила поменять для игнорирования этих символов, но это неправильный подход.
 
My status
 Top
kikosik666
Отправлено: 15 Февраля, 2018 - 15:37:39
Post Id


Новичок


Покинул форум
Сообщений всего: 46
Дата рег-ции: Апр. 2017  


Помог: 0 раз(а)




таких урл много, нужна автоматически все сделать
 
 Top
teleoperator27
Отправлено: 15 Февраля, 2018 - 15:42:16
Post Id



Посетитель


Покинул форум
Сообщений всего: 265
Дата рег-ции: Янв. 2017  


Помог: 21 раз(а)




kikosik666 пишет:
таких урл много, нужна автоматически все сделать
много-немного, но берутся они все из одного места. Откуда вы их вообще откопали? Они есть на сайте, эти ссылки? или это где-то в статистике всплыло, что по ним переходили?
 
My status
 Top
kikosik666
Отправлено: 15 Февраля, 2018 - 15:44:57
Post Id


Новичок


Покинул форум
Сообщений всего: 46
Дата рег-ции: Апр. 2017  


Помог: 0 раз(а)




teleoperator27 просто нужен код чтобы все автоматический сделать
 
 Top
teleoperator27
Отправлено: 15 Февраля, 2018 - 15:55:17
Post Id



Посетитель


Покинул форум
Сообщений всего: 265
Дата рег-ции: Янв. 2017  


Помог: 21 раз(а)




Я еще раз спрошу: эти ссылки где-то на сайте или откуда-то из статистики типа яндекс-метрики выкопаны?
 
My status
 Top
Строитель Модератор
Отправлено: 15 Февраля, 2018 - 17:02:32
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




kikosik666 пишет:
В основном в урлах встречаются такие символы и ссылки начинают не работать: & ! ( ) [ ] * + и пробел
А в каких частях URL'а встречаются эти символы? Все - только в одном месте (там где вы указали восклицательный знак)?
 
 Top
kikosik666
Отправлено: 16 Февраля, 2018 - 09:49:53
Post Id


Новичок


Покинул форум
Сообщений всего: 46
Дата рег-ции: Апр. 2017  


Помог: 0 раз(а)




сайт онлайн фильмов, из базы все берут
 
 Top
Строитель Модератор
Отправлено: 16 Февраля, 2018 - 10:45:19
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




kikosik666 >>>
 
 Top
yahosaha
Отправлено: 16 Февраля, 2018 - 18:22:17
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Февр. 2018  


Помог: 0 раз(а)




kikosik666
У вас в браузере или на компьютере в файлах ничего не написано - скрипты или прочий вирусняк?
 
 Top
Строитель Модератор
Отправлено: 16 Февраля, 2018 - 18:46:33
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




kikosik666, или так (замена для всей строки):
Спойлер (Отобразить)
или так (замена для последней части строки):
Спойлер (Отобразить)
 
 Top
kikosik666
Отправлено: 17 Февраля, 2018 - 09:55:42
Post Id


Новичок


Покинул форум
Сообщений всего: 46
Дата рег-ции: Апр. 2017  


Помог: 0 раз(а)




Строитель пишет:
kikosik666, или так (замена для всей строки):
Спойлер (Отобразить)
или так (замена для последней части строки):
Спойлер (Отобразить)






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


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB