Вырезать средствами php ненужные спецсимволый в ссылке

Статус
В этой теме нельзя размещать новые ответы.

pilot233

Гуру форума
Регистрация
24 Июн 2006
Сообщения
406
Реакции
92
Привет Всем!

Кто спецы по php вот проблемка нарисовалась есть музыкальный сайт (поисковик) и если кто-то назване песни копирует откуда-то и вставляет у меня на сайт и ищет то дальше все происходит нормально он получает, что хочет и если хочет скачать он качает и вот тут касяк. Если в поиске были символы # и / то файл он не находит (файл тянет удаленно), а если просто даже в строке удалить этот символ все нормально. Заметил я это все Гугле мастере в кабинете ошибки посыпались на страницу скачки. Стал разбираться и понял какой символ мешает в .htaccess вот такая строка отвечает за скачивание RewriteRule ^download/([^/]*)-([^/]*).mp3$ download.php?download=$2&pl=$1 (ну еще есть естественно файл который отвечает за это дело). Как вырезать эти спец симфолы. Говорил в другой ветке сказали надо копать в файле который отвечает за загрузку (который формирует ссылку на скачку). Если-бы все в базу писалось можно было-бы почистить а так сразу создается динамический sitemap и пингуется и тут-же в Гугл.

Пример: download/JuicyLand #073-174685333.mp3 в этом примере символ # не дает скачать если его удолить все норм

Файлик приложил.

Всем спасибо!!!
 

Вложения

  • download.7z
    1,6 KB · Просмотры: 2
PHP:
$filename  = strip_tags(urldecode($get_name->title));
if( empty($filename) ){
      $filename = $d_id;
}
$filename  = $pl;
Не понял смысла, если в итоге все равно $filename = $pl;

А вообще, похоже, достаточно добавить str_replace перед header:
PHP:
$filename = str_replace( array('#', '/'), '', $filename);
header("location: ".$GLOBALS["sys"]->get_url()."download/".$filename."-".$id.".mp3");
 
Спасибо друг вроди как помогло я так понимаю туда если чего по аналогии можно добавлять и другие символы которые будут мешать. Я не знаю какая тут теперь кнопка спасибо но нажал "Мне нравиться" может это она. Только вот заметил это исправление действует к вновь сформированной ссылке, а старые также видут в никуда. Т.е в Гугле в кабинете я перешел по ссылкам (они у меня были в ошибках) где были эти символы и соответственно они останутся ошибками. Всерано круто теперь новых не будет.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху