pagina - redireccionar php
.htaccess 301 redirigir de una sola página (6)
Esto debería hacerlo
RedirectPermanent /contact.php /contact-us.php
Después de rediseñar un sitio, tengo un par de páginas que necesitan ser redirigidas. Todo se mantiene en el mismo dominio, solo un par de cosas han sido reorganizadas y / o renombradas. Ellos son de la forma:
/contact.php
es ahora:
/contact-us.php
Usando el archivo .htaccess, agregué esta línea, que es la que más me ha recomendado:
RedirectMatch 301 /contact.php /contact-us.php
Esto está bastante bien, hace el trabajo, el problema es que también redirige:
- /team1/contact.php
- /non-existant-folder/contact.php
¿Hay alguna manera de especificar que solo quiero redirigir el contact.php en la raíz?
Redirigirá la página de tu tienda a tu página de contacto
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
Redirect 301 http://www.youtdomain.com/store http://www.youtdomain.com/contact
</IfModule>
Si prefiere usar la solución más simple posible a un problema, una alternativa a RedirectMatch es, la más básica, Directiva de Redirect .
No utiliza la coincidencia de patrones, por lo que es más explícito y más fácil de entender para otros.
es decir
<IfModule mod_alias.c>
#Repoint old contact page to new contact page:
Redirect 301 /contact.php http://example.com/contact-us.php
</IfModule>
Las cadenas de consulta deben ser transferidas porque los documentos dicen:
Se agregará información de ruta adicional más allá de la ruta de URL coincidente a la URL de destino.
También podría usar RewriteRule si quisiera la capacidad de coincidir con la plantilla y redirigir las URL.
RedirectMatch
usa una expresión regular que coincide con la ruta de la URL. Y su expresión regular /contact.php
solo significa cualquier ruta URL que contenga /contact.php
pero no solo cualquier ruta URL que sea exactamente /contact.php
. Por lo tanto, utilice los anclajes para el inicio y el final de la cadena ( ^
y $)
:
RedirectMatch 301 ^/contact/.php$ /contact-us.php
redirect 301 /contact.php /contact-us.php
No tiene sentido utilizar la regla redirectmatch y luego tiene que escribir sus enlaces para que coincidan exactamente. Si no incluye, ¡no tiene que excluir! Simplemente use redirigir sin coincidencia y luego use enlaces normalmente