Forums / National / Russian / Тех. поддержка / Вопрос по ЧПУ, haccess и субдоменам

Kopusha
#1 2024-01-11 19:37

Может уже где встречалось подобное, не нашел.
Будет стоять такая задача - есть сайт с структурой pages типа:

mysite.com/category_1/subcategory_11

mysite.com/category_2/subcategory_21

mysite.com/category_3/subcategory_31

ну и тд

Хотелось бы сохранив одну БД и по сути один сайт (одна админка, пользователи и тд) унести именно подкатегории на субдомены

То есть что бы на subcategory_11.mysite.com был page.list из mysite.com/category_1/subcategory_11

Как то так, мало работал с такой стороной движка, куда копать, кого звать и что делать?)

 

Added 1 minute later:

PS - задача не массовая, автоматизм не нужен, по факту всего нужно около 10 подкатегорий и 10 субдоменов, все можно руками "один раз прописал и забыл".

Edward
#2 2024-01-12 14:29

Что-то подобное делал в плагине через Hooks=input

Примерно так

$alldomains = explode('.', $_SERVER['HTTP_HOST']);
$subdomain = count($alldomains) >= 3 ? $alldomains[0] : '';
$defaultdomain = ((count($alldomains) == 3 && $alldomains[0] == 'www') || count($alldomains) == 2) ? true : false;

if ($defaultdomain)
{
	$sql = $db->query("SELECT * FROM $db WHERE cat='default' LIMIT 1" )->fetchAll();
}
else
{
	$sql = $db->query("SELECT * FROM $db WHERE cat='".$db->prep($subdomain)."' LIMIT 1" )->fetchAll();
}

 

Email: ed.gabishev@gmail.com
Telegram: https://t.me/Ed_Gaba
Alex300
#3 2024-01-12 14:58

Не делал подобного, но скорее всего придется добавить что то такое в datas/urltrans.dat

page	c=*&al=*	            {page_url_structure()}
page	c=*&id=*	            {page_url_structure()}
page	c=*	                    {list_url_structure()}

И реализовать соотвествующие функции.

Или определить свою функцию cot_url_custom().

Я бы начал пробовать оттуда.

Тут главная проблема правильно генерить ссылки. Обратное преобразование уже несложное. Если URL subcategory_1.mysite.com, то $e = subcategory_1. Если subcategory_1.mysite.com/subcategory_11, то или $e = subcategory_11 или $e = subcategory_1, $al = subcategory_11

Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english...
Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/
Kopusha
#4 2024-01-12 21:27

А давайте как до этого дойдет (это точно несколько месяцев, пока наброски проекта и купили под него красивый домен) я или Алексу или Эдварду (кто посвободнее) просто оплачу эту работу)
Что то я в офлайне подзаеbalsя( Ставим печь в офис на 1300+ градусов, нелегкая это работа, электрике 100 лет, руководство тугое, короч хоть тут поплачусь)

Added 31 seconds later:

Мне принципиально - что это можно и это не архисложно. Остальное - уже нюансы. Спасиб!

Kort
#5 2024-01-13 07:25

Как-то с Трастом мы делали такое. Да, там было именно использование кастомного файла функций и urltrans.dat. Плюс к этому в консоли надо создать A-запись с wildcard или (лучше) несколько под требуемые поддомены.

SED.by - создание сайтов, разработка плагинов и тем для Котонти
Sergeich
#6 2024-03-04 07:56

Тоже интересно. И тоже помню, что нечто подобное делали уже давным давно.

Kort
#7 2024-03-04 08:04

Кстати, как вариант можно добавить поддомены вручную, установить на них сиену, а базу частично использовать общую с основным доменом второго уровня. Отдельные таблицы настроить как требуется.

SED.by - создание сайтов, разработка плагинов и тем для Котонти
Sergeich
#8 2024-03-04 08:21

Ну это кривенькое решение, хотя первое, которое в голову приходит :)

Kort
#9 2024-03-04 09:13

Оно такое же кривенькое, как и обычный сайт. Другое дело что оно правильнее подходит для идеи поддоменов. Выносить на них разделы -- так себе решение. Обычно это или эксперимент или идеи псевдооптимизаторов. Правильно делать на поддомене вспомогательный сайт. А при общей базе и разных префиксах многие вещи реализовывать действительно гораздо удобнее.

SED.by - создание сайтов, разработка плагинов и тем для Котонти