Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

132
Vistas
Cómo habilitar mod_redirect en htaccess sobre HTTP/2

Modifiqué mi instalación de Debian 9 (Apache 2.4.25) para permitir la compatibilidad con HTTP/2.

Lo verifiqué con éxito en línea y las páginas sirven , pero el problema radica en la redirección realizada en .htaccess para mapear, por ejemplo, site.com/index.php/brands/mybrand a una URL agradable (site.com/brands /mi marca). Simplemente no sucede. Esta es una configuración de Codeigniter.

  • Los pasos problemáticos parecen ser cuando deshabilito los módulos actuales ( a2dismod php7.2 y mpm_prefork ) y habilito un módulo mpm ( a2enmod mpm_event , pero también probé mpm_worker ) que admite HTTP/2.
  • En ese momento me sale "archivo no encontrado" (error 404)
  • Al revertir esos dos pasos, vuelvo a la normalidad (sin HTTP/2, por supuesto)

¿Se invalida el mod_rewrite.c condicional a continuación al cargar el módulo mpm_worker? Si es así, ¿cómo lo reemplazo?

EDITAR: un registro detallado me muestra este error: AH01071: se obtuvo el error 'Script principal desconocido\n', referente: https://sitename.com/brands/

Mi .htaccess (en el directorio de marcas donde reside index.php) que funciona bien con la configuración anterior es:

 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] RewriteCond %{HTTPS} !on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} </IfModule> <IfModule mod_headers.c> <FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css|css)$"> Header set Access-Control-Allow-Origin "*" </FilesMatch> </IfModule> IndexOptions +Charset=UTF-8

Mi /etc/apache2/sites-enabled/default-ssl.conf contenido relevante incluye:

 <VirtualHost _default_:443> # even without enabling here h2c or h2 I get the error Protocols http/1.1 <Directory "/var/www/html"> Options Indexes FollowSymLinks MultiViews AllowOverride All # since apache 2.4 Require all granted </Directory> </VirtualHost>

Nota: Otros comandos que ejecuté anteriormente para habilitar los módulos adicionales requeridos son los siguientes. No tuve que tocar nada de esto para volver a una configuración funcional (no HTTP/2):

 apt-get install php7.2-fpm a2enmod proxy_fcgi setenvif a2enconf php7.2-fpm

Editar:

El problema se debió a una redirección interna. Está arreglado ahora.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

No has configurado PHP-FPM correctamente. Deshabilite esa configuración de php-fpm diciendo a2disconf php7.2-fpm . Y agregue lo siguiente en el archivo httpd.conf, esto debería funcionar:

 <FilesMatch "\.php$"> SetHandler "proxy:fcgi://localhost:9000" </FilesMatch> ProxyErrorOverride On

Reinicie Apache y PHP-FPM (probablemente no sea necesario reiniciar PHP-FPM, pero Apache debe reiniciarse). Habilite HTTP/2 ahora, probablemente debería funcionar.

Editar

El OP tuvo este problema debido a alguna redirección en la configuración.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda