• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

346
Views
¿Cómo tener diferentes .htaccess para diferentes dominios/URL de solicitud?

Trabajo como desarrollador web, creando sitios web personalizados para los clientes. Mis archivos .htaccess son generalmente muy simples. Generalmente solo hago 2 cosas:

  1. Crear un ErrorDocument personalizado para errores 404
  2. Redirigir el directorio /upload a /admin/upload para simplificar parte del código compartido entre el sitio web público y el sistema de administración

Tengo todo funcionando bien, aparte de una pequeña molestia, me pregunto si se puede hacer algo al respecto. Estoy usando php y trato de diseñar los sitios web de forma modular, de modo que no importa si el código está alojado en "example.com/" (el dominio real), "localhost/exampleproject2" (en mi máquina de desarrollo), o "mycompanywebsite.com/example.com" (Donde alojamos una versión "beta" para que el cliente la vea cuando lleguemos a ese punto en el desarrollo).

Desde el lado PHP de las cosas, no tengo problemas aquí. Pero en lo que respecta a Apache, tengo que crear 3 archivos .htaccess ligeramente diferentes para cada uno de esos dominios:

 ErrorDocument 404 /404.php Redirect 301 /upload /admin/upload
 ErrorDocument 404 /exampleproject2/404.php Redirect 301 /exampleproject2/upload /exampleproject2/admin/upload
 ErrorDocument 404 /example.com/404.php Redirect 301 /example.com/upload /example.com/admin/upload

Obviamente, esto no es un gran problema, pero es un poco molesto. Principalmente cuando yo u otra persona transfiero archivos a través de FTP y accidentalmente sobrescribo el .htaccess de un entorno con su contraparte de otro entorno, y el sitio se rompe. También significa que no puedo incluir .htaccess en mi repositorio de git sin posiblemente romper cosas.

Según mis pruebas, las URL relativas no parecen funcionar en absoluto. Creo que tal vez Apache simplemente no admite URL relativas en archivos .thaccess para Redirect s y ErrorDocument s. Al menos eso es lo que parece. Me sale un error del servidor cuando lo intento.

Me gustaría tener una forma de tener un solo archivo .htaccess que pueda compartir entre los 3 entornos e incluirlo en el repositorio de git. Si alguien sabe una buena manera de lograr esto, sería increíble. Las soluciones no tienen que usar .htaccess , estoy abierto a cualquier solución que haga que mi código sea menos dependiente de rutas o URL absolutas.

about 3 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error