Estoy enfrentando un problema al redirigir una URL antigua a una nueva.
Esta es la URL anterior: http://www.abc.com/department.asp?dept=Minimal%20cloth
la nueva URL debería ser: http://www.abc.com/Minimal-cloth
Por favor sugiéreme la mejor manera posible
Respuestas
1 para la respuesta № 1¿Puedes intentar seguir las reglas en tu archivo .htaccess?
Options +FollowSymLinks
RewriteEngine on
# to take care of /department.asp?dept=Minimal%20cloth or
# /department.asp?dept=Minimal cloth tyoe of URLs
RewriteCond %{QUERY_STRING} ^dept=(.+)(s|%20)(.+)$ [NC]
RewriteRule ^department.asp$ /%1-%3? [R=302,L,NC]
# to take care of /department.asp?dept=MinimalCloth type URLs
RewriteCond %{QUERY_STRING} ^dept=(.+)$ [NC]
RewriteRule ^department.asp$ /%1? [R=302,L,NC]
Recuerde que RewriteRule no coincide con la cadena de consulta.
0 para la respuesta № 2
El mod_rewrite de Apache es perfecto para esto. Excelente tutorial aquí.
0 para la respuesta № 3
Dependiendo de qué módulos estén habilitados en la configuración del servidor apache, puede usar mod_alias o mod_rewrite para esto. Para usar mod_alias, use algo como
RedirectMatch 301 ^/department.asp?dept=(.*) /$1
Para usar mod_rewrite, intente algo como:
RewriteCond %{QUERY_STRING} ^dept=(.*)$ [NC]
RewriteRule ^/department.asp/%1 [R=301]
Estos no han sido probados, pero espero que le sirvan de ayuda.