Tengo un sitio php Para todos los enlaces de página, uso foo.htm y reescribo esto internamente en foo.php con .htaccess:
RewriteRule ^(.*).htm$ $1.php [NC,L]
Esto funciona muy bien, sin embargo, todavía te permitepara utilizar la url foo.php. Me gustaría redirigir 301 foo.php a foo.htm para evitar que los antiguos motores de búsqueda de foo.php se queden y reescriban la url de foo.htm internamente a foo.php
No puedo averiguar cómo hacer esto sin crear un bucle.
Respuestas
0 para la respuesta № 1Ponga este código en su archivo .htaccess:
Options +FollowSymlinks -MultiViews
RewriteEngine on
RewriteCond %{THE_REQUEST} ^GETs(.+).php [NC]
RewriteRule ^ %1.htm [R=301,L]
RewriteRule ^(.*).htm$ /$1.php [L,NC]
0 para la respuesta № 2
RewriteRule ^(.*).htm$ $1.php [NC,L]
RewriteRule ^(.*).php$ $1.htm [NC,R]
la opción L detiene el motor de reescritura, impidiendo un bucle.