Links permanentes & caracteres HTML especiais

Olá,

Estou tentando inserir permalinks (o que funciona bem), mas me deparo com um problema ao inserir URLs com caracteres especiais.

Por exemplo, ao inserir a URL

display/exacom/ADO+<+Jira+Cloud%3A+Date+time+sync

ela é convertida para

display/exacom/ADO+%3C%3E+Jira+Cloud%253A+Date+time+sync

Porque %25 é o equivalente HTML de %.

Mas então, quando tento o link

https://community.exalate.com/display/exacom/ADO+<+Jira+Cloud%3A+Date+time+sync

a página não é encontrada.

Tentar usar a contraparte da entidade HTML na entrada da URL também não funciona, pois a URL original não é encontrada.

Pergunta - qual é a maneira correta de inserir permalinks que contenham esse tipo de caracteres (e evitar codificação HTML dupla)?

Apenas um palpite: escape, como \\%3A?

Tentei

bla%3Abla

Torna-se

bla%5C%253Abla
1 curtida

Você poderia tentar inseri-los no Rails para ter mais controle sobre o escape, talvez. Não sei se ajudará, mas é o que eu tentaria em seguida.

Estamos usando a opção de hospedagem do discourse.org
Acho que não podemos ter essa liberdade.

1 curtida

esses links de exibição não parecem corretos - parece que está faltando a primeira parte.

você já tentou o encurtador de links TinyURL?

Olá Lily,

Obrigado

Estas são páginas wiki que publicamos em nosso antigo site da comunidade
Por exemplo

https://community.exalate.com/display/exacom/ADO<0xC3><0x83><0xC2><0x84>+Jira+Cloud%3A+Date+time+sync

Agora está acessível em

https://oldcommunity.exalate.com/display/exacom/ADO<0xC3><0x83><0xC2><0x84>+Jira+Cloud%3A+Date+time+sync

Claro - as pessoas que tentarem acessar a primeira versão hoje chegarão ao site do discourse e receberão um 404. É por isso que queremos usar o recurso de permalinks
O problema é que não é possível inserir a URL de forma que ela seja encontrada e, assim, o redirecionamento não entra em vigor.
Um tinyurl não será possível porque não é isso que os usuários usarão.

2 curtidas

Quantos existem e todos eles têm o mesmo absurdo na cabeça?

Todos eles têm xxx%3A+slug?

1 curtida

Eu obviamente não estou entendendo o que você está fazendo. Acabei de criar com sucesso um permalink de teste no meu site para esta página:\n\nService Archived - Exalate Community vou para /test no meu site, ele me leva direto para essa página.~~\n\n

\n\n***\nedição: esquece, eu não estava compreendendo sua OP corretamente, agora vejo o que você está tentando fazer. você está tentando usar aquele link estranho e complexo como permalink. eca. sim, não sei se isso é possível sem algum escape especial. :thinking:

Exato - obrigado por dedicar seu tempo.

1 curtida

Todos eles têm xxx%3A+slug?

Não

Criamos agora uma página com uma visão geral de todos os casos de uso

Lá você pode ver alguns dos links e como eles são codificados em URL.

1 curtida

Hmm. Teria sido mais fácil migrar isso antes de você tornar sua comunidade pública.

A maioria deles está bem, eu acho.

Você pode conseguir fazer uma normalização de permalink que remova tudo antes do > e, em seguida, fazer o permalink apenas para a parte depois disso.

1 curtida

A URL de origem está sendo usada em vários locais e não necessariamente sob nosso controle.

Ser capaz de inserir a URL de origem resolveria o problema.

Lily está atualmente procurando uma solução…

Obrigado

Lily:

De uma olhada rápida, a maioria dos URLs deve funcionar bem.

Acho que o restante tem um sinal de maior que e tudo depois do sinal de maior que são caracteres simples. Então você pode fazer o permalink remover a primeira parte até o sinal de maior que e funcionará.

1 curtida

Olá Jay,

Os URLs nessa página foram todos codificados em URL antes de serem adicionados, pois o compositor também os está codificando - o que é esperado.

Eles não são os URLs originais.

Funcionaria se eu fornecesse um arquivo de texto com os originais?

Francis