Centos htaccess not being read

后端 未结 5 1739
终归单人心
终归单人心 2021-02-05 22:44

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:<

相关标签:
5条回答
  • 2021-02-05 23:21

    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
    
    0 讨论(0)
  • 2021-02-05 23:26

    On CentOS7, the following should help:

    1. Under string AllowOverride controls what directives may be placed in .htaccess files in /etc/httpd/conf/httpd.conf:replace AllowOverride None to AllowOverride All

    2. In /etc/httpd/conf.modules.d/00-base.conf check rewrite_module must be:

      LoadModule rewrite_module modules/mod_rewrite.so

    3. .htaccess file must be in /var/www/html/

    4. Example content .htaccess:

      AuthUserFile /var/www/.htpasswd AuthGroupFile /dev/null AuthName "Please Enter Password" AuthType Basic Require valid-user

    5. check and restart Apache:

      httpd -t

      /bin/systemctl restart httpd.service
    0 讨论(0)
  • 2021-02-05 23:32

    Have you set AllowOverride in Apache config? If not, set AllowOverride from none to all.

    0 讨论(0)
  • 2021-02-05 23:35

    Go to /etc/httpd/conf/httpd.conf and find below line. htaccess Context is allowed in .htaccess files: AllowOverride All

    Save and close the file. Restart httpd:

    0 讨论(0)
  • 2021-02-05 23:36
    1. /etc/httpd/conf/httpd.conf:replace AllowOverride None to AllowOverride All

    2. httpd -M | grep rewrite_module should result

    rewrite_module (shared)

    Still not working even after making sure all above in place? Then make sure your .htaccess has below line at the top.

    RewriteEngine On
    
    0 讨论(0)
提交回复
热议问题