Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как в URL вывести первым название города

Семён Случай Ученик (87), на голосовании 1 неделю назад
Здравствуйте, подскажите пожалуйста - как в URL вывести
первым название города а потом название сайта.
У меня в index.php подключается папка region, далее файлы с номерами регионов в итоге ссылка выглядит так - https://site.ru/region/all_0/moskva_1/
Как переделать чтобы ссылка получалась - https://moskva.site.ru/
Голосование за лучший ответ
партнер [www.a77r.ru] Мыслитель (9853) 1 месяц назад
moskva.site.ru это поддомен для домена site.ru , точнее домен более низкого уровня.
Это в структуре каталогов очень важно. Поэтому стоит подробнее описать, чего требуется добиться и в каком месте, на каком уровне. Например на сервере, в файле htaccess или через скрипт, контроллер на РНР или еще какие-то варианты.
Семён СлучайУченик (87) 1 месяц назад
Находил несколько примеров через htaccess, не чего не получается, либо без изменений либо вообще не открывается, а хотелось бы так.
Придется тогда заводить сотни под доменов - www.site.ru , moskva.site.ru , baikonyr.site.ru и т.д. это очень много. А как через через скрипт ?
партнер [www.a77r.ru] Мыслитель (9853) Семён Случай, надо смотреть на сервере, как там все устроено. Может проще другой вариант рассмотреть site.ru/moskva site.ru/baikonur
Семён СлучайУченик (87) 1 месяц назад
Спасибо партнер [ www.a77r.ru ] что отвечаешь, я сейчас на локальном сервере работаю, пытаюсь с php сделать, может подскажешь как тут можно ли ?
Сам код - Код здесь.
партнер [www.a77r.ru] Мыслитель (9853) Семён Случай, первый вопрос, который возникает: какую задачу решает этот код? просто смотреть код без понимания для чего он нужен - это поиск синтаксических ошибок. У тебя же скорее концептуальная проблема, изменения структуры каталогов. Вот и вопрос, для чего нужна конкретная (измененная) структура в рамках решаемой задачи?
Семён СлучайУченик (87) 1 месяц назад
Это код объединяет вывод регионов и каталогов, нам нужны регионы, как я начинаю понимать (впервые коснулся этого) чтобы сделать в URL сначала город потом домен, надо менять php код, также дополнить .htaccess и таблицу в БД так ?
И всё это относится к настройке ЧПУ ссылок ?
партнер [www.a77r.ru] Мыслитель (9853) Семён Случай, если ты хочешь использовать человекопонятный URL, то для этого не обязтельно название региона ставить в начало, можно сделать, как я ранее написал site.ru/moskva site.ru/baikonur это вполне себе ЧПУ :) Далее из этого адреса надо делать выборку названия региона. Тут могут быть варианты, либо через контроллер, когда все запросы попадают на него и далее происходит выборка региона и маршрутизация (подключение библиотек, каталогов, обработчиков и т.д.), либо выборку регоина делать в файле htaccess и задавать маршрут там же (на мой взгляд менее гибкое решение). И еще, код лучше немного привести в порядок, там есть повторения и он плохо структурирован. Я бы, к примеру, вынес обработку глобального массива в начало, а не размазывал по всему файлу. Как и подключения внешних файлов.
Семён СлучайУченик (87) 1 месяц назад
Спасибо партнер [ www.a77r.ru ],
Мне нужно выбрать вариант который подойдёт для продвижения сайта по регионам, какой лучше ?
партнер [www.a77r.ru] Мыслитель (9853) Семён Случай, это зависит от схемы продвижения, какие инструменты предполагаются к использованию, какие требования существуют в инструментах и каналах продвижения. Как-то давно в небольшой рекламной компании работал, и у владельца тоже была такая идея, правда по городам Подмосковья, наделали несколько десятков поддоменов, толку правда никакого...
Семён СлучайУченик (87) 1 месяц назад
Понял, спасибо партнер
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (271862) 1 месяц назад
Через .htaccess форвардить все запросы на index.php. Там динамически определять домен и отдавать соответствующий контент из физической папки..
партнер [www.a77r.ru]Мыслитель (9853) 1 месяц назад
правильно я понимаю, что ты предлагаешь перенаправлять запросы с домена moskva.site.ru на site.ru/index.php ?
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (271862) Начнем с того, что apache должен иметь настройку субдоменов: <VirtualHost *:80> ServerName site.com ServerAlias *. site.com Если на коммерческом виртуальном хостинге этого нет, то надо забыть и придумать другое решение. Но локально можно потестировать через .htacces: RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9-]+)\.site\.com$ [NC] RewriteCond %{REQUEST_URI} !^/handler.php$ RewriteRule ^ /handler.php?city=%1 [L,QSA] где handler.php (index.php) — обработчик субдоменов, который и будет отдавать шаблон города.. Но мне кажется , что всё можно сделать проще. А пока я не вижу ответа на один центральный вопрос: как пользователь хочет, чтобы этот функционал использовался и почему именно таким способом.
Семён СлучайУченик (87) 1 месяц назад
Я то же не понял ответ, (форвардить, Там динамически определять домен и отдавать соответствующий контент из физической папки) если можно по проще пожалуйста.
Семён СлучайУченик (87) 1 месяц назад
Спасибо V̲i̲s̲t̲a̲s̲t̲e̲r̲, завтра попробую воплотить в жизнь.
Похожие вопросы