If you are runing drupal7 site on shared hosting with apache2, you definitely don’t have access to the apache2 config files.
And that will cause problem activating Clean URLs, but this can be solved by adding rewrite in .htaccess in your site’s root path.
Add following rewrite for your website:
# RewriteRule ^ index.php [L]
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Once .htaccess is updated, go to (Home ยป Administration ยป Configuration ยป Search and metadata ยป Clean URLs) you should have checkbox with “Enable clean URLs” check it and save. Clean URLs are now active.