Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

212
Visualizações
caso de coincidencia de expresiones regulares del despachador y luego cambie partes de la URL a minúsculas

Digamos que tengo una página de producto /GB/en/cat/product/abc/cde/*** es una buena página 200 validada,
Pero las personas podrían escribir accidentalmente /GB/en/cat/Product/abc/cde/*** o /GB/en/cat/PRODUCT/abc/cde/*** (ya que mi página de contenido distingue entre mayúsculas y minúsculas) estas dos URL causando problemas para mi propósito de SEO Así que necesito tener una regla de reescritura en el despachador para manejar algo como /GB/en/cat/Product/abc/cde/*** o /GB/en/cat/PRODUCT/abc/cde/*** , transferirlos a /GB/en/cat/product/abc/cde/***

A continuación se muestra mi prueba actual, pero solo funciona cuando el usuario escribe /gb/en/cat/Product/... o /gb/en/cat/PRODUCT/... luego puede cambiar con éxito a /GB/en/cat/PRODUCT/abc/cde/***

 RewriteCond %{ENV:PAGE_REQUEST} ^true$ RewriteCond %{REQUEST_URI} !^/[AZ]{2}/[az]{2} RewriteRule ^/([a-zA-Z]{2})/([a-zA-Z]{2})(.*) "/${toupper:$1}/${tolower:$2}/${tolower:$3}" [R=301,L]

Si el usuario escribe /GB/en/cat/PRODUCT/... la regla de reescritura no funcionará... Cualquier sugerencia de código sería realmente apreciada. Gracias

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Su segunda condición de reescritura limita la regla:

 RewriteCond %{REQUEST_URI} !^/[AZ]{2}/[az]{2}
over 4 years ago · Santiago Trujillo Relatório

0

Como dijo Vlad: su segunda condición limitará la regla, solo si se cumplen ambas condiciones, se aplicará la regla. Su segunda condición dice que solo aplique la regla si el URI no comienza con dos caracteres en mayúscula, seguidos de dos caracteres en minúscula. Entonces /GB/en/cat/PRODUCT/... no coincidirá ya que no se cumple la segunda condición. Esto significa que la regla no se aplica y el PRODUCT en mayúsculas no se fija. Simplemente puede eliminar esta segunda condición ya que su regla no cambiará los caracteres en mayúsculas correctos.

Como ya dijo rakhi4110, su tercer grupo en su regla de reescritura: (.*) incluirá / después de las dos letras del idioma, por lo que si termina la regla con /${tolower:$3} , terminará con dos barras en el URI, para solucionarlo, puede eliminar la barra al final o agregar una entre los grupos 2 y 3:

 RewriteRule ^/([a-zA-Z]{2})/([a-zA-Z]{2})/(.*) "/${toupper:$1}/${tolower:$2}/${tolower:$3}" [R=301,L]

o

 RewriteRule ^/([a-zA-Z]{2})/([a-zA-Z]{2})(.*) "/${toupper:$1}/${tolower:$2}${tolower:$3}" [R=301,L]

(En mi opinión, el primero es un código más limpio)

Entonces, para concluir, lo siguiente debería funcionar:

 RewriteCond %{ENV:PAGE_REQUEST} ^true$ RewriteRule ^/([a-zA-Z]{2})/([a-zA-Z]{2})/(.*) "/${toupper:$1}/${tolower:$2}/${tolower:$3}" [R=301,L]
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda