2011-05-13 18 views
15

Quiero actualizar todas las páginas de un sitio web para utilizar include para el pie de página y el encabezado. Así que tengo que cambiar muchas páginas .html a .php.redirigir todas las extensiones .html a .php

Así que estoy buscando una forma de redirigir todas las páginas que terminan en .html a la misma URL pero que terminan en .php.

Respuesta

29
RewriteEngine On 
RewriteRule ^(.*)\.html$ $1.php [L] 

Si desea que se haga como una redirección en lugar de sólo una reescritura modificar la [L] a [L,R]

+0

Fui por RewriteRule^(. *) \. Html $ $ 1.php [R] como con la bandera como que el L parece tener problemas con algunas de mis otras Reglas. ¡Gracias por la ayuda! – Max

+3

la bandera L impide que sea un indicador de "detención". cualquier regla que lo siga no se ejecutará http://httpd.apache.org/docs/2.2/rewrite/flags.html – roberthuttinger

+1

Esto no funciona para mí en Windows 8.1 y XAMPP 1.8.3. Terminé usando: "RewriteRule^(. *) \. Html $ /$1.php [L]". Tenga en cuenta que la única adición es a/antes de la parte $ 1.php. Aclamaciones. –

7

Usted podría hacer un enfoque más simple y tener todos sus archivos html ser procesados ​​como archivos PHP añadiendo la siguiente línea a su .htaccess

AddHandler application/x-httpd-php .php .html 
+0

Enfoque original, pero debe mencionar que esta solución agrega un poco de sobrecarga, ya que obliga a PHP a analizar CUALQUIER petición (incluso las estáticas) que es casi una poesía y podría ralentizar un poco su rendimiento. – Defrag

5

mod_rewrite al rescate!

RewriteEngine On 
RewriteRule ^(.+)\.html$ $1.php 
1

En el archivo de Apache httpd.conf puede agregar

AddType application/x-httpd-php .html 

Para que los archivos .html pasan por el intérprete PHP antes de que se sirven para el usuario. También puede agregar esta directiva a su archivo .htaccess. El segundo método puede no funcionar según cómo esté configurado su host.

-1

Veo que "Agregar * application/x-httpd-php .html" forzará los tipos de página .html simples a ser procesados ​​previamente por PHP.

Sin embargo, me pregunto si alguien puede explicar por qué sería preferible (o no) el "AddType" de wewals frente al "AddHandler" de Jordonias.

Según la discusión here ambos parecen funcionar bien, con una ligera diferencia en la sobrecarga.

Así que supongo que mi gran pregunta es: manteniendo las clasificaciones de los motores de búsqueda, ¿cuál es la mejor opción para convertir las páginas HTML estáticas a la plataforma PHP y mantener "vigentes" sus enlaces * .html existentes?

Gracias!

0

Tenga en cuenta que el comando AddType procesará su archivo html existente como php. Si lo que deseaba era reemplazar un archivo html existente con un nuevo archivo php, necesita usar la regla de reescritura.

Cuestiones relacionadas