Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

127
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!