Как включить чистые ссылки в Drupal 7

Drupal 7 чистые ссылки

Итак, вы решили включить чистые ссылки на Drupal 7. Эта функциональность является базовой и не требует установки дополнительных модулей. Переходим в меню Конфигурация раздел Поиск и метаданные и выбираем пункт Чистые ссылки. Где, собственно,  и включаем соответствующий флажок. См. рисунок.
Скриншот чистые ссылки включить

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

Причем проверка не проходит позитивно. Что же делать в данной ситуации?
Рассмотрим наиболее типичные рецепты решения:

  1. Проверить включен ли mod_rewrite на вебсервере.
    Команда проверки в большинстве случаев выглядит так:

    apachectl -M

    В списке должен присутствовать mod_rewrite. Если у вас нет доступа к консоли сервера, необходимо уточнить включен ли модуль у хостера. При необходимости, проверьте наличие в файле конфигурации Apache раскомментированных строк

    LoadModule rewrite_module modules/mod_rewrite.so
    AddModule mod_rewrite.c

    Для принятия изменений Apache необходимо перезапустить.
     

  2. Убедиться что в файле .htaccess в корневой папке сайта размещена конструкция

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

  3. "Зверский" способ. Прибегайте к нему, только если уверены в своих действиях и никакие другие способы не помогли. Включаем чистые ссылки принудительно. Открываем для редактирования файл конфигурации sites\default\settings.php и добавляем в него строку

    $conf['clean_url']=1;

    Внимание! Перед изменением данного файла придется установить право на запись. После исправлений не забывайте установить их в 444.

Tags: