.htaccess: RewriteEngine not allowed here

前端 未结 8 2021
醉话见心
醉话见心 2020-12-01 11:53

I uploaded the .htaccess to the server and received an Error 500 (Internal Server Error).

And in the error log I had the following error:

相关标签:
8条回答
  • 2020-12-01 12:20

    Let's say your DOCUMENT_ROOT is /home/foo/web then have this config in your httpd.conf file:

    <Directory "/home/foo/web">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
    

    This should take care of RewriteEngine is not allowed error you're getting.

    0 讨论(0)
  • 2020-12-01 12:20

    I was getting this type of error from the Google Cloud instance after checking the logs from the /var/log/apache2/error.log

    .htaccess: RewriteEngine not allowed here

    To get rid of the above error & 500 Internal Server Error, follow these simple steps

    sudo nano /etc/apache2/apache2.conf
    

    Then add these snippets of lines

    <Directory /var/www/>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
    </Directory>
    

    After you’ve made that change, make sure to restart the server:

    sudo service apache2 restart
    

    This worked for me in getting rid of 500 Internal Server Error hosted on Google Cloud instance

    0 讨论(0)
  • 2020-12-01 12:22

    Just an idea, this happened to me, and I've lost a lot of time trying to solve it.

    If you have a directory like d:/web/my-sites/some-site/

    And you place the .htaccess on d:/web/my-sites/some-site/.htaccess (where it supposed to be).

    If you have ANY .htaccess files before this directory, Apache reads that files, and blocks the execution of the entire path, producing an internal server error.

    I.E.: You have d:/web/my-sites/.htaccess

    0 讨论(0)
  • 2020-12-01 12:26

    you could use something like this in your .htaccess file:

    RewriteEngine on
    RewriteCond $1 !^(index\.php|html|test)
    RewriteRule ^(.*)$ /index.php/$1 [L]
    

    this code simply means, that anything not pointing to index.php or html or test should be directed to index.php!

    Hope this is helpful!

    0 讨论(0)
  • 2020-12-01 12:31

    Try to change username.conf file on Mac under /etc/apache2/users/username.conf to

    <Directory "/Users/akyoo/Sites/">
       AllowOverride All
       Options Indexes MultiViews FollowSymLinks
       Require all granted
    </Directory>
    

    My .htaccess file looks like this

    #Allow from all
    Options +FollowSymLinks
    RewriteEngine on
    RewriteCond $1 !^(index\.php|resources|robots\.txt)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L,QSA]
    

    This works fine for me. Solution for Ubuntu users

    0 讨论(0)
  • 2020-12-01 12:32

    In httpd version 2.4 (2.4.3 and 2.4.4), take a look at /etc/httpd/conf.d/wordpress.conf There is one entry for: ....

    Change: "AllowOverride Options" to "AllowOverride All"

    in wordpress.conf also in addition to changing httpd.conf. Restart the http server before the changes will take effect.

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