Pregunta sobre Networking WordPress de Wordpress:

¿Redirigir la URL antigua con .htaccess?

Un usuario preguntó 👇

Hay muchos enlaces antiguos en Internet a nuestra página de inicio. Estos enlaces siguen una estructura estructural del antiguo CMS. Ahora nos gusta redirigir algunas de las URL antiguas más importantes a la nueva ruta. Así que no hay problema, si no se incluyeron las URL antiguas /index.php?... Viola la regla de reescritura de WP en .htaccess.

P.ej: http://www.domain.com/index.php?task=listcats&cat_id=99&Itemid=52&option=com_mtree Debería ser redirigido a https://www.domain.com/information/about-us/

También nos gusta enviar un código de estado 301.

¿Cómo puedo crear reglas de reescritura / redirecciones en .htaccess, sin comprometer las reglas de reescritura de WP actuales y otras reglas existentes?

Parece el .htaccess que funciona y funciona bien:

# hacer cumplir https RewriteEngine On

RewriteCond% {HTTPS} = como RewriteRule ^ https: //%{HTTP_HOST}% {REQUEST_URI} [QSA,L,R=301]

# COMIENZO WordPress RewriteEngine en RewriteBase / RewriteRule ^ index .php $ – [L] RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteRule. /index.php [L]

# FIN WordPress

Denegar # acceso para /xmlrpc.php Para aprobar un pedido, Deny Deny from all ‘

(@lcf)

Hace 1 año, 1 mes

intente esto (1 línea, colóquela en la parte superior del archivo .htaccess)

Redirect 301 index.php?task=listcats&cat_id=99&Itemid=52&option=com_mtree https://www.domain.com/information/about-us/

Esta respuesta fue modificada hace 1 año, 1 mes por.

(@thomei)

Hace 1 año, 1 mes

intente esto (1 línea, colóquela en la parte superior del archivo .htaccess)

¿Redirigir 301 index.php? Task = listcats & cat_id = 99 & Itemid = 52 & option = com_mtree https://www.domain.com/information/about-us/

No interfiere con WP, pero no redirige a https://www.domain.com/information/about-us/. No funciona.

(@autotutorial)

Hace 1 año, 1 mes

# enforce https
<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{HTTPS} =off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{REQUEST_URI} ^/index.php
RewriteCond %{QUERY_STRING} task=listcats&cat_id=99&Itemid=52&option=com_mtree
RewriteRule ^ "/information/about-us/?" [R=301,L]

</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

# deny acces to /xmlrpc.php
<Files xmlrpc.php>
Order allow,deny
Deny from all
</Files>

Elimino el indicador QSA ya que la cadena de consulta debería estar en la variable REQUEST_URI. Si es http, lo acepto en https, si está en el archivo index.php y con la cadena de consulta correcta, lo cambio a otra URL para perder la cadena de consulta. Si usa APACHE => 2.4 en lugar de la marca de consulta, ingrese el indicador QSD.

Esta respuesta fue modificada hace 1 año, 1 mes por.

(@thomei)

Hace 1 año, 1 mes

¡Gracias @autotutorial! Funciona. Pero es un problema nuevo:

http://www.domain.com/index.php?task=listcats&cat_id=99&Itemid=52&option=com_mtreereferencias ahora a https://www.domain.com/information/about-us/. Puedo redirigir otras URL antiguas a la nueva ruta.

Pero es una nueva pregunta: todas las URL antiguas utilizadas para redirigir a / o http://www.domain.com/
Ahora, error 404: no todo incluido en las URL.

Cómo redirigir todo http://www.domain.com/index.php?.... URL a / esperando el que redirigimos a un nuevo objetivo y WP-Paths u otros archivos?

Esta respuesta fue modificada hace 1 año, 1 mes por.

(@autotutorial)

Hace 1 año, 1 mes

Pero es una nueva pregunta: todas las URL antiguas utilizadas para redirigir a / o http://www.domain.com/
Ahora, el error 404 es todo lo que no incluye URL antiguas.

Perdón por tu problema. Si usa este .código de acceso https://wordpress.org/support/topic/redirect-old-url-with-htaccess/#post-12046441

RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

significa que si estoy en index.php no muestro este archivo; de lo contrario, si no es un archivo o directorio válido, voy a (internamente) index.php para administrar este comportamiento, este archivo simplifica el Pretty Ejecute el enlace permanente. más información aquí. https://codex.wordpress.org/Rewrite_API/add_rewrite_rule.

¿Qué código agregaste a tu archivo .htaccess? ¿Estás usando Ugly Permalink?

(@ cuong381)

Hace 1 año, 1 mes

https://nguyenquangcuong.com/

(@thomei)

hace 1 año

Turscar @ cuong381? ¡No eres bienvenido!

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada.