I'm working on a new server and I installed via yum the "Web Server" group. Php and mysql work fine but I can't get .htaccess to work.
Heres my test .htaccess file:
WASD_TEST_CALL_ERROR
I put this as .htaccess in a test folder along with an index.html page.
Instead of reporting an error it goes ahead and loads the index page without displaying any errors.
Thanks
Make sure AccessFileName set to .htaccess
Search httpd.conf for AccessFileName directive. It defines name of the distributed configuration file:
grep -i AccessFileName httpd.conf
Make sure users are allowed to use .htaccess file
What you can put in these files is determined by the AllowOverride directive. This directive specifies, in categories, what directives will be honored if they are found in a .htaccess file. If this directive is set to None, then .htaccess files are completely ignored. In this case, the server will not even attempt to read .htaccess files in the filesystem.
grep -i AllowOverride httpd.conf
When this directive is set to All, then any directive which has the .htaccess Context is allowed in .htaccess files:
AllowOverride All
Save and close the file. Restart httpd:
service httpd restart
Have you set AllowOverride in Apache config? If not, set AllowOverride from none
to all
.
On CentOS7, the following should help:
- Under string AllowOverride controls what directives may be placed in .htaccess files in
/etc/httpd/conf/httpd.conf
:replace AllowOverride None to AllowOverride All
- In /etc/httpd/conf.modules.d/00-base.conf check rewrite_module must be:
LoadModule rewrite_module modules/mod_rewrite.so
- .htaccess file must be in /var/www/html/
- Example content .htaccess:
AuthUserFile /var/www/.htpasswd
AuthGroupFile /dev/null
AuthName "Please Enter Password"
AuthType Basic
Require valid-user
- check and restart Apache:
httpd -t
/bin/systemctl restart httpd.service
its very simple
please find the below image