URLSAFE_TAG_NAME проблемы

richmantrade
Posts: 1033
Joined: Tue Dec 04, 2012 8:46 am

URLSAFE_TAG_NAME проблемы

Post by richmantrade »

Очень хочется сделать урлы на таги именно URLSAFE.
Но просто так это не работает.
К примеру, у меня в базе есть таг: white car. Если создать урл посредством URLSAFE, то мы получаем: /tag/white-car/, что в свою очередь отправляет нас на /scj/cgi/index.php?force_template=search&tag=white-car
В результате мы получим 404, т.к. у нас нет тага white-car, у нас есть только white car (без тире).
Эту проблему я решил, добавив в common обратную расшифровку:

Code: Select all

if (isset($_GET['tag']))         $_GET['tag'] = str_replace('-',' ',$_GET['tag'])
И всё было хорошо, пока не попался таг с реальным тире.
К примеру, у меня в базе есть таг: black-white car. Если создать урл посредством URLSAFE, то мы получаем: /tag/black-white-car/, что в свою очередь отправляет нас на /scj/cgi/index.php?force_template=search&tag=black-white-car
Соотв-но теперь наша обратная расшифровка в common переделает это в tag=black white car (заменит все тире на пробелы), и мы снова получим 404.

Какой вариант решения данного вопроса может быть ? Как я это вижу: если бы у тага был слаг (по аналогии с CATEGORY_CUSTOM_NAME) - это бы полностью решило проблему.
Спасибо!
admin
Site Admin
Posts: 37202
Joined: Wed Sep 10, 2008 11:43 am

Re: URLSAFE_TAG_NAME проблемы

Post by admin »

я думаю не надо выдумывать колесо
на том же хамстере как таги сделаны?
Don't forget to run script update
richmantrade
Posts: 1033
Joined: Tue Dec 04, 2012 8:46 am

Re: URLSAFE_TAG_NAME проблемы

Post by richmantrade »

На хамстере как раз так и сделано.
Урлы на таги: через тире, т.е. по-нашему - URLSAFE
например таг "China Girl", сылка на него: https://xhamster.com/tags/china-girl
А так же есть таги изначально написаны через тире, например "Co-worker", ссылка на него https://xhamster.com/tags/co-worker

Вот я именно об этом и говорю. Что хотелось иметь ссылки URLSAFE (через тире). И это получается , правда с добавлением обратной расшифровки $_GET['tag'] = str_replace('-',' ',$_GET['tag']), ну это как раз нормально. Проблема именно с тагами, изначально написанными с тире. И я бы рад их отсутствию вцелом, но специфика работы заключается в том что таги постоянно добавляются на сайт(ы). И да - я могу (и делаю) это контролировать, убирать в них тире и т.д. Но сайтов много, за всем не уследишь.
admin
Site Admin
Posts: 37202
Joined: Wed Sep 10, 2008 11:43 am

Re: URLSAFE_TAG_NAME проблемы

Post by admin »

как насчет варианта смотреть в базе оба варианта?

например пришло

&tag=white-car

смотрим и "white-car" и "white car" ? проблема тогда может быть только если их 2 одновременно, такой вариант возможен?
Don't forget to run script update
richmantrade
Posts: 1033
Joined: Tue Dec 04, 2012 8:46 am

Re: URLSAFE_TAG_NAME проблемы

Post by richmantrade »

Да, к сожалению такой вариант я тоже видел у себя.

Вот, есть у меня на сайте таг: "elsa jean - teen slut tryouts" . URLSAFE для него получается elsa-jean-teen-slut-tryouts
И у этой же галереи есть таг: "elsa jean teen slut tryouts". URLSAFE для него такой же elsa-jean-teen-slut-tryouts

В принципе этот вариант я думаю имеет место быть, если скрипт не будет добавлять в базу такие, можно сказать дублированные таги. Т.е. если при добавлении тага (при импорте) будет так же смотреть в базе оба варианта, проверка на уникальность так сказать
richmantrade
Posts: 1033
Joined: Tue Dec 04, 2012 8:46 am

Re: URLSAFE_TAG_NAME проблемы

Post by richmantrade »

С этим вариантом кстати, я только что увидел, вообще всё плохо.
Таг написан не только с тире, но и с пробелами вокруг тире.
Блин ((
admin
Site Admin
Posts: 37202
Joined: Wed Sep 10, 2008 11:43 am

Re: URLSAFE_TAG_NAME проблемы

Post by admin »

elsa jean - teen slut tryouts

как-то для тага некрасиво выглядит ..

ок, а как тогда отличать эти таги если я даже глазами по elsa-jean-teen-slut-tryouts не могу понять какой из 2х надо искать ?
Don't forget to run script update
richmantrade
Posts: 1033
Joined: Tue Dec 04, 2012 8:46 am

Re: URLSAFE_TAG_NAME проблемы

Post by richmantrade »

Да вот х.з. Думаю...
Давайте пока поставим паузу. Я поразмыслю над этим - напишу потом
admin
Site Admin
Posts: 37202
Joined: Wed Sep 10, 2008 11:43 am

Re: URLSAFE_TAG_NAME проблемы

Post by admin »

ok
Don't forget to run script update
richmantrade
Posts: 1033
Joined: Tue Dec 04, 2012 8:46 am

Re: URLSAFE_TAG_NAME проблемы

Post by richmantrade »

Хорошенько подумав, решил что буду самостоятельно избавляться от тире в тагах.
Вопрос снимается с повестки дня ))
Спасибо!
Post Reply