Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как правильно разделить запросы?

Как правильно разделить запросы?


     27.02.2020    php    Общие вопросы по PHP, Модули, Хаки    589

вопрос
В общем делаю региональность.

Возникла проблема с категориями.
Мои города переключаются так:
/index.php?do=set_city&city=moskva

В htaccess соответственно:
RewriteRule ^([a-z]+)/$ ?do=set_city&city=$1 [L]


И города выводятся верно: site.ru/moskva/

Но вот проблема в том что категории с новостями никак не хотят дружить и пересекаются.


У кого нибудь была такая проблема? может кто сталкивался как можно реализовать.

Ответа пока нет


8 комментариев

dj-avtosh
PHP-developer

dj-avtosh - 27 февраля 2020 16:27 -

site.ru/city/moskva/

RewriteRule ^city/([a-z]+)/$ ?do=set_city&city=$1 [L]

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

infotim
Юзер

infotim - 27 февраля 2020 17:21 -

Это я понимаю)) Но нужно именно site.ru/moskva/

dj-avtosh
PHP-developer

dj-avtosh - 27 февраля 2020 17:23 -

В самом верху всех редиректов:

RewriteRule ^city/moskva/$ ?do=set_city&city=moskva [L]

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

infotim
Юзер

infotim - 27 февраля 2020 17:47 -

Я понимаю, но мне нужно именно чтобы было 1 вложение, site.ru/moskva/
Варианты site.ru/city/moskva/ мне не подходят.

dj-avtosh
PHP-developer

dj-avtosh - 27 февраля 2020 18:32 -

В самом верху всех редиректов:

RewriteRule ^moskva/$ ?do=set_city&city=moskva [L]

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

voronoff_dev
Юзер

voronoff_dev - 27 февраля 2020 18:38 -

Перед обработчиком категорий нужно сделать проверку на существование города и производить дальнейшие манипуляции в зависимости от результата. Например, переназначить обработчик.

$city_list = ['moscow', 'spb'];

if ($do == 'cat' && in_array($category, $city_list)) {
    $do = 'set_city';
    $city = $category;
}

dj-avtosh
PHP-developer

dj-avtosh - 27 февраля 2020 20:42 -

но проще не лезть в php код и сделать в .htaccess правило, можно регулярку хоть на все города вида (moscow|spb)

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

dj-avtosh
PHP-developer

dj-avtosh - 27 февраля 2020 20:45 -

над правилами категорий


RewriteRule ^(moscow|spb)/$ ?do=set_city&city=$1 [L]

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх