Cómo manipular .htacess a través del código PHP

Lo primero es lo primero. Desea editar el archivo .htaccess, que es un archivo de texto sin formato. Piense detenidamente sobre su pregunta, lo que realmente está preguntando es cómo analizar archivos de texto sin formato 🙂 Si lee sobre el análisis de archivos de texto, debería obtener toneladas de ideas además de las que lee aquí.

Siempre que desee analizar un archivo de texto, necesita un delimitador de algún tipo. El trabajo del delimitador es diferenciar entre registros. En el caso del archivo .htaccess, el delimitador sería un carácter de nueva línea (o un conjunto de caracteres dependiendo de su sistema operativo). Ahora ya tiene una idea funcional de cómo agregar / editar a su .htaccess.

$ hta = file_get_contents (‘. htaccess’); // Leer todo el archivo .htaccess en mem

$ hta = explotar (PHP_EOL, $ hta); // Use nueva línea para diferenciar entre registros

Ahora tiene todo el archivo .htaccess en una matriz. Deberías ser bueno a partir de ahora, solo usa file_put_contents para escribir tus cambios.

Si es grabable, puede manipularlo como cualquier otro archivo. Por ejemplo, WordPress hace eso. Lo que debe tener cuidado es analizar todo el archivo, para que sepa dónde (y si) editar.

Por lo general, cuando hay errores en .htaccess, el servidor web devolverá 500, lo que dificulta la depuración de dicha edición. Haga todas las pruebas en una instalación separada.

Esto puede ser útil para evitar contratiempos: tivie / php-htaccess-parser