Hide xfields from url : убираем xfsearch из адресной строки

Hide xfields from url : убираем xfsearch из адресной строки

Хак убирает xfsearch для страниц по всему сайту. Внимание: не нужно создавать доп поле с одинаковым альтернативным именем с категорий. Будет работать для перекрестных доп полей. Пример (было -> стало):
https://site.net/xfsearch/genre/rock/ -> https://site.net/genre/rock/
https://site.net/xfsearch/artist/v.tsoy/ -> https://site.net/artist/v.tsoy/
Установка:
1. Установить плагин через систему Управления плагинами.

2. Прописать правила (обязательно выше правил для категорий). Для NGINX (nginx.conf -> server location) найти:
    rewrite "^/([^.]+)/page/([0-9]+)(/?)+$" /index.php?do=cat&category=$1&cstart=$2 last; 
    rewrite "^/([^.]+)(/?)+$" /index.php?do=cat&category=$1 last;

Добавить выше:
location / {

        rewrite "^/(.*[\.]+.*)/page/([0-9]+)(/?)+$" /index.php?do=xfsearch&xf=$1&cstart=$2  last; 
        rewrite "^/(.*[\.]+.*)/?$" /index.php?do=xfsearch&xf=$1 last;

 }

Для APACHE2 (.htaccess) найти:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)/page/([0-9]+)(/?)+$ index.php?do=cat&category=$1&cstart=$2 [L]

Добавить выше:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[\.]+.*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xf=$1&cstart=$2 [L]
RewriteRule ^(.*[\.]+.*)/([^/]*)(/?)+$ index.php?do=xfsearch&xf=$1 [L]

3. Убрать редиректы из .htaccess связанные с xfsearch:
RewriteRule ^xfsearch/(.*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xf=$1&cstart=$2 [B,L]
RewriteRule ^xfsearch/(.*)/?$ index.php?do=xfsearch&xf=$1 [B,L]

4. Завести переадресацию для старых xfsearch (допустим на главную), найти:
RewriteRule ^page/([0-9]+)(/?)$ index.php?cstart=$1 [L]

Добавить выше:
RewriteRule ^xfsearch/(.*)$ / [R=301,L]

или на новую страницу:
 RewriteRule ^xfsearch/(.*)$ /$1 [R=301,L]

Редиректы добавляем для того, что бы работал xfsearch для значений с точкой. Все новые перекрестные доп.поля будут работать и не будут требовать добавления правила в .htaccess.

Готово!

Скачать: cоздайте аккаунт или авторизуйтесь для скачивания файла.
 
Версия DLE: 14.x
Кодировка: utf-8
 
Автор: dj-avtosh
Источник:

Примечание от Oxigen: обновлены описания редиректов.

  • Oxigen
  • 1
  • 347
Информация
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.

Комментариев 1

djavtosh 10 октября 2020 06:45
Просьба обновить описание редиректов.