Слэш в конце URL, как настроить?

Главные вкладки

Аватар пользователя сельский библиотекарь сельский библио... 8 января 2015 в 16:34

Сайт имеет такие URL.
домен/katalog/kategogiya/strnica_tovara.php

Каталог и категория, это естественно, Views страницы, на них много ссылок на товары.
Я хочу, чтоб они отображались со слеш на конце как директория то есть
домен/katalog/

Страницы товаров это тип материала Товар нужно, чтоб там слэша не было
домен/katalog/kategogiya/strnica_tovara.php

Переношу статичный сайт на Drupal, хотелось бы не ломать старые ссылки.
Возможность зайти и со слеш и без недопустима. По умолчанию Drupal убивает все слэш в конце URL.

Как это проще всего настроить?

Комментарии

Аватар пользователя сельский библиотекарь сельский библио... 8 января 2015 в 19:36

Спасибо, но этот модель ставит слеш абсолютно везде и настроить это нельзя. Для меня бесполезен.

Нужно примерно вот это:

# Rewrite rule to add trailing slashes to virtual directories but not to virtual files.
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !\.[a-z]*/?$
  RewriteCond %{REQUEST_URI} !/$
  RewriteRule ^(.*)$ $1/ [L,R=301]

  # Rewrite rule to strip trailing slashes from virtual files.
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} \.[a-zA-Z]*/?$
  RewriteCond %{REQUEST_URI} /$
  RewriteRule ^(.*)/$ $1 [L,R=301]

но на уровне Drupal, а не сервера.

Через .htaccess, наверняка, коллизии будет т.к. получается надстройка о которой ядру ничего не известно. Все опции в CMS без учета этой оптимизации.

Аватар пользователя goodboy goodboy 8 января 2015 в 20:03

сельский библиотекарь wrote:
Спасибо, но этот модель ставит слеш абсолютно везде и настроить это нельзя. Для меня бесполезен.

Почему нельзя настроить? Потому что нет в админке? Так допишите админку или явно укажите в модуле, где ставить флеш, а где нет.

Аватар пользователя сельский библиотекарь сельский библио... 8 января 2015 в 21:38

Вообще, вариант с htaccess не так уж и плох.

Пока нашел только один некрасивый эпизод - с навигацией Views.
На первую страницу заходим по ссылке ../katalog/ - тут все ок.
а вот дальше начинается ../katalog?page=1 , сервер выдаст ../katalog/?page=1, но исходящая была кривая.
ссылка вернуться на первую - /katalog (без слэша).

Как-то эту ситуацию можно выправить без больших хитростей?

Аватар пользователя сельский библиотекарь сельский библио... 8 января 2015 в 21:45

>Почему нельзя настроить? Потому что нет в админке?

Там же вообще никаких настроек нет кроме галки включения модуля.
В идеале, конечно, нужно чтоб у него была функциональность, как у кода, выше из htaccess, тогда разнобоя не будет.

Аватар пользователя сельский библиотекарь сельский библио... 9 января 2015 в 10:54

Может кому пригодиться как сделать исключение для модуля. Я не сразу догадался.

  // If the URL is external, the front page, file name or an empty path, don't run.
  if ($options['external'] || $path == '<front>' || $path == '*.*' || empty($path)) {
    return;
  }