I have struggled for many weeks now to make the clean_url feature work for Drupal 7 and 8 in my Ubuntu local instance. I have tried and read many tutorials till I recently finally found what the issue was.
I have enabled the mod_rewrite module of Apache months back but what I was missing is the “AccessFilename” and “AllowOverride All” directives.
After several error messages and a deep breath I figure out that : the “AccessFilename . htaccess” should be place just after the prior to all definition just after the
<VirtualHost *:80>
and also alll the override in in the Document root directory
<Directory /var/www>
# other directives
AllowOvveride All
# other directives
</Directory>
The good thing is tat I have learned how to disable the clean url when you don’t have access to the interface page to disable it. Prior to Drupal 7 you can manually edit the row of the clean_url in the “variable” table.
In Drupal 7 you can either :
– add this line to your setttings.php
$conf['clean_url'] = 0 ;– or run in your phpmyadmin or mysql console the query
UPDATE variable SET value= ‘s:1:”0″;’ WHERE name=’clean_url’;
(you may have to change the table name if you have defined a prefix during the installation).
Happy drupaling 🙂