Отключить "Чистые ссылки" (Clean URLs)

18.12.2017

Задача:

Бывают ситуации, когда Drupal-сайт, который раньше работал со включёнными "чистыми ссылками" перестаёт работать и весь контент недоступен. Это может случиться после:

* Переноса базы данных на другой сервер,
* Восстановления копии с сервера на локальной машине,
* Восстановление из резервной копии (бекапа),
* "Исчезновения" файла .htaccess,
* Персонал хостера или вы сами делает какие-то изменения в настройках веб-сервера.

Нужно отключить использование "чистых ссылок" на Drupal-сайте.
Варианты:

* Доступ по "не-чистым" ссылкам на сайт
* Использовать SQL-сниппет для отключения "чистых ссылок"
* Отключить "Чистые ссылки" в settings.php

Доступ по "не-чистым" ссылкам на сайт

1. Откройте http://example.com/?q=user
2. Залогиньтесь админом (ссылки всё ещё не будут работать)
3. Откройте http://example.com/?q=admin/settings/clean-urls (DRUPAL 5,6) и отключите "Чистые ссылки" на странице настроек.

Ссылки должны стать рабочими теперь.
Использовать SQL-сниппет для отключения "чистых ссылок"

Выполнить SQL-сниппет:
UPDATE variable SET value = 's:1:"0";' WHERE name = 'clean_url';
DELETE FROM cache;
Отключить "Чистые ссылки" в settings.php

В файле настроек нужного сайта (домена) указать в самом конце, чтобы переопределить эту переменную, если она уже есть в этом файле:
$conf['clean_url'] = 0;

Использованные материалы:

How do I unset the clean URLs?