cPanel hosted sites return Error 404 when using .htaccess basic auth with Apache

If you have a website hosted on a cPanel server, and try to setup Basic Auth in a sub-folder of your site, you might be dismayed to see that instead of the Basic Auth login form, you see an Error 404 page. 

If you are hosting a site like Wordpress/Craft/EE/Laravel etc, that uses a rewrite in the .htaccess file:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

The fix is to add a slash after the dot (.) in the last line. Changing:

RewriteRule . /index.php [L]

to:

RewriteRule ./ /index.php [L]

Thanks to Cartika for finding the answer to this!

Note: If you are using WordPress, and regen your permalinks, this fix will be removed from the root .htaccess file, as Wordpress will rewrite it without the added slash. 

Read more…

Comments