.htaccess: RewriteEngine no permitido aquí

Cargué .htaccess en el servidor y recibí un Error 500 (Error interno del servidor) .

Y en el registro de errores tuve el siguiente error:

… /. htaccess: RewriteEngine no está permitido aquí

Pero mod_rewrite.so está habilitado.

Entonces, ¿necesito cambiar

  Options FollowSymLinks AllowOverride None  

a

  Options FollowSymLinks AllowOverride All  

en el archivo /etc/httpd/conf/httpd.conf ?

O podría ser algo más? El archivo .htaccess debería estar bien, porque funciona perfectamente bien en mi servidor local. Simplemente no quiero arruinar nada.

Aquí hay parte de mi archivo .htaccess:

 Options All -Indexes Options +FollowSymLinks RewriteEngine On 

configuración mínima para que su .htaccess funcione:

 AllowOverride FileInfo Options 

Permitir que toda la configuración funcione también:

 AllowOverride All 

Digamos que su DOCUMENT_ROOT es /home/foo/web luego tiene esta configuración en su archivo httpd.conf:

  Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order allow,deny Allow from all  

Esto debería ocuparse de RewriteEngine is not allowed error que está recibiendo.

Solo una idea, esto me pasó a mí, y he perdido mucho tiempo tratando de resolverlo.

Si tiene un directorio como d:/web/my-sites/some-site/

Y coloca el .htaccess en d:/web/my-sites/some-site/.htaccess (donde se supone que debe estar).

Si tiene CUALQUIER archivo .htaccess antes de este directorio, Apache lee esos archivos y bloquea la ejecución de la ruta completa, produciendo un error interno del servidor.

IE: tienes d:/web/my-sites/.htaccess

En httpd versión 2.4 (2.4.3 y 2.4.4), eche un vistazo a /etc/httpd/conf.d/wordpress.conf. Hay una entrada para: ….

Cambiar: “Permitir opciones de omisión” a “Permitir omitir todo”

en wordpress.conf también además de cambiar httpd.conf. Reinicie el servidor http antes de que los cambios surtan efecto.

Además, solo asegúrate de que estás editando el archivo de configuración correcto. Creé un archivo en /etc/apache2/users/USERNAME.conf pero estaba editando /etc/apache2/httpd.conf.

Eliminar el archivo USERNAME.conf funcionó.

Intenta cambiar el archivo username.conf en Mac en /etc/apache2/users/username.conf para

  AllowOverride All Options Indexes MultiViews FollowSymLinks Require all granted  

Mi archivo .htaccess ve así

 #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] 

Esto funciona bien para mi. Solución para usuarios de Ubuntu

podrías usar algo como esto en tu archivo .htaccess:

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

¡Este código simplemente significa que todo lo que no apunte a index.php o html o test debe dirigirse a index.php!

Espero que esto sea útil!