Итак, вы решили включить чистые ссылки на Drupal 7. Эта функциональность является базовой и не требует установки дополнительных модулей. Переходим в меню Конфигурация раздел Поиск и метаданные и выбираем пункт Чистые ссылки. Где, собственно, и включаем соответствующий флажок. См. рисунок.
В большинстве случаев этого достаточно, но встречаются ситуации, когда вместо заветного флажка наблюдаем следующую картину.
Причем проверка не проходит позитивно. Что же делать в данной ситуации?
Рассмотрим наиболее типичные рецепты решения:
- Проверить включен ли mod_rewrite на вебсервере.
Команда проверки в большинстве случаев выглядит так:apachectl -M
В списке должен присутствовать mod_rewrite. Если у вас нет доступа к консоли сервера, необходимо уточнить включен ли модуль у хостера. При необходимости, проверьте наличие в файле конфигурации Apache раскомментированных строк
LoadModule rewrite_module modules/mod_rewrite.so
AddModule mod_rewrite.cДля принятия изменений Apache необходимо перезапустить.
- Убедиться что в файле .htaccess в корневой папке сайта размещена конструкция
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] - "Зверский" способ. Прибегайте к нему, только если уверены в своих действиях и никакие другие способы не помогли. Включаем чистые ссылки принудительно. Открываем для редактирования файл конфигурации sites\default\settings.php и добавляем в него строку
$conf['clean_url']=1;
Внимание! Перед изменением данного файла придется установить право на запись. После исправлений не забывайте установить их в 444.