Jump to content

Recommended Posts

Ребят, дилема.

В Директе настроена ссылка сайт/keramicheskaya-plitka/kollekcii-plitki/dlya-vannoy?utm_source=yandex&utm_med... и т.д.

Проблема в том что Яша кодирует слеши в %2F

Цитата

Специальные символы в значениях параметров {param1} и {param2} автоматически кодируются в UTF-8. Например, если в качестве параметра {param1} использовать «flowers/lilac.html», символ «/» будет преобразован в последовательность «%2F», и объявление будет вести на страницу http://www.site.ru/flowers%2Flilac.html.

 

И при переходе по ссылке сайт/keramicheskaya-plitka%2Fkollekcii-plitki%2Fdlya-vannoy?utm_source=yandex&utm_med... выдает 404 ошибку. Причем не 404 от движка, а вот такая http://prntscr.com/j9rjcy 

Кто-то с таким сталкивался? И какие есть идеи решения проблемы?

Share this post


Link to post
Share on other sites

У вас что-то не так, htaccess наверное убитый

 

слеши не в урле кодируются а в гет-параметрах

Share this post


Link to post
Share on other sites
23 минуты назад, spectre сказал:

У вас что-то не так, htaccess наверное убитый

 

слеши не в урле кодируются а в гет-параметрах

Нет, если бы гет парметры - это без проблем сделать, а вот в Директе идет site.com/{param1}?get=...

где {param1} заменяется на ссылку keramicheskaya-plitka/kollekcii-plitki/dlya-vannoy а в этой ссылке все слеши заменяются на %2F

и получается что это не get параметр с %2F, а идет как ссылка, и вот голову ломаю как сделать что бы перейдя по ссылке site.com/keramicheskaya-plitka%2Fkollekcii-plitki%2Fdlya-vannoy открывалась страница site.com/keramicheskaya-plitka/kollekcii-plitki/dlya-vannoy

Туплю очень сильно т.к. не могу понять что надо сделать.

Share this post


Link to post
Share on other sites

странная ссылка. без указания домена. а дальше цитата идет уже даже не про ссылку, а про {param} вы нас где-то хотите запутать

Share this post


Link to post
Share on other sites
1 минуту назад, Exploits сказал:

где {param1} заменяется на ссылку keramicheskaya-plitka/kollekcii-plitki/dlya-vannoy

 

просто не надо так делать. не используйте / в param

или используйте несколько param

  • +1 1

Share this post


Link to post
Share on other sites
1 минуту назад, nikifalex сказал:

странная ссылка. без указания домена. а дальше цитата идет уже даже не про ссылку, а про {param} вы нас где-то хотите запутать

Нет.

Ссылка работает:

https://smartceramica.ru/keramicheskaya-plitka/kollekcii-plitki/dlya-vannoy

Не работает:

https://smartceramica.ru/keramicheskaya-plitka%2Fkollekcii-plitki%2Fdlya-vannoy

Именно эту ссылку с %2F keramicheskaya-plitka%2Fkollekcii-plitki%2Fdlya-vannoy и генерирует директ

 

Share this post


Link to post
Share on other sites

Или просто яндексу отдайте последнюю часть урла для ванной, опенкарт сам перекинет куда надо, с маркетом такое прокатывает, с директом тоже должно 

Edited by spectre
  • +1 2

Share this post


Link to post
Share on other sites
5 минут назад, spectre сказал:

Или просто яндексу отдайте последнюю часть урла для ванной, опенкарт сам перекинет куда надо, с маркетом такое прокатывает, с директом тоже должно 

Кстати, мысль! если сеопро - он перекинет 301 на нужную страницу. Надо будет попробовать.

---UPD---

Редирект не работает, хотя сеопро. Буду разбираться.

А все же если полную ссылку - есть какие-то идеи как это можно сделать?

Share this post


Link to post
Share on other sites
34 минуты назад, Exploits сказал:

- есть какие-то идеи как это можно сделать?

это у вас судя по всему вообще параметр фильтра

а почему это в урл не писать? или просто тупо в индексе заменить %2f на / и перейти куда надо

 

типа такого, костыль конечно :)

		$link = HTTP_SERVER.$_SERVER['REQUEST_URI'];
		$original_link = $link;

		$link = str_replace('%2F', '/', $link);

		if($link != $original_link){
			header('Location: ' . str_replace(array('&', "\n", "\r"), array('&', '', ''), $link), true, 301);
			exit();
		}

 

Edited by spectre

Share this post


Link to post
Share on other sites
3 минуты назад, spectre сказал:

это у вас судя по всему вообще параметр фильтра

а почему это в урл не писать? или просто тупо в индексе заменить %2f на / и перейти куда надо

 

типа такого, костыль конечно :)


		$link = HTTP_SERVER.$_SERVER['REQUEST_URI'];
		$original_link = $link;

		$link = str_replace('%2F', '/', $link);

		if($link != $original_link){
			header('Location: ' . str_replace(array('&', "\n", "\r"), array('&', '', ''), $link), true, 301);
			exit();
		}

 

Нет, это ссылка на категорию, которую прописывают в Я.Директе, а там слеши меняются на %2f

Я бы в index это сделал, но перейдя по такой ссылке не работает index.php -  то есть туда делаешь print_r($_SERVER); ничего не отображается, просто ошибка, не понятно конечно. Если бы доходило до index -  то сделать 301 можно было бы.

Share this post


Link to post
Share on other sites

Ну это что-то ненормальное, у вас получается пробел перед урлом, в htaccess тогда 

Share this post


Link to post
Share on other sites

Попробуйте такую штуку добавить в htaccess 

AllowEncodedSlashes On

Share this post


Link to post
Share on other sites

Не хочет. Я думаю что вариант с отдачей последней части url и будет решением проблемы.

Теперь надо разобраться почему не работает редирект.

Share this post


Link to post
Share on other sites

Ну может директива не работает, добавить в конфиг апача можно 

  • +1 1

Share this post


Link to post
Share on other sites
17 минут назад, spectre сказал:

Ну может директива не работает, добавить в конфиг апача можно 

спасибо, напишу в поддержку

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.