Estoy ejecutando mi aplicación AWS Elastic Beanstalk
PHP 5.6 ejecutándose en Amazon Linux/2.9.4 de 64 bits
Cada vez que recibí esta Advertencia en mi registro de apache.
AH00124: La solicitud superó el límite de 10 redireccionamientos internos debido a un probable error de configuración. Use 'LimitInternalRecursion' para aumentar el límite si es necesario. Use 'Depuración de nivel de registro' para obtener un seguimiento.
Creo que podría ser mi .htaccess, este es mi código:
ErrorDocument 404 /404.html Options -Indexes RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$/?$ %{REQUEST_FILENAME}\.php [NC,L] ## EXPIRES CACHING ## <IfModule mod_expires.c> ExpiresActive On ExpiresByType application/pdf "access plus 1 month" ExpiresByType application/x-shockwave-flash "access plus 1 month" ExpiresByType image/x-icon "access plus 1 month" </IfModule> <IfModule mod_headers.c> Header unset ETag </IfModule> FileETag None <IfModule mod_headers.c> Header unset Last-Modified </IfModule>¿Alguna idea sobre este error?
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$/?$ %{REQUEST_FILENAME}\.php [NC,L]
Su regla para agregar la extensión de archivo .php es incorrecta. Efectivamente, está reescribiendo en un archivo inexistente... repetidamente. Pruebe lo siguiente en su lugar:
# Append .php file extension if omitted and destination file exists RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}.php -f RewriteRule !\.\w{2,4}$ %{REQUEST_URI}.php [L] Lo anterior indica... para cualquier solicitud que aún no tenga una extensión de archivo, se prueba para ver si existe un archivo con la extensión .php antes de volver a escribirlo internamente.
No es necesario usar puntos literales de escape de barra invertida en la sustitución de RewriteRule , ya que se trata de una cadena "ordinaria" (no una expresión regular).