# API Recupera URL relativi dei post

**URL:** https://meta.discourse.org/t/api-retrieve-post-relative-urls/264633
**Category:** Development
**Tags:** rest-api
**Created:** [11 Maggio 2023, 10:36am UTC](https://meta.discourse.org/t/api-retrieve-post-relative-urls/264633 "2023-05-11T10:36:32Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![bobpies](https://avatars.discourse-cdn.com/v4/letter/b/3ec8ea/32.png) [@bobpies](https://meta.discourse.org/u/bobpies)
#### Post date: [11 Maggio 2023, 10:36am UTC](https://meta.discourse.org/t/api-retrieve-post-relative-urls/264633/1 "2023-05-11T10:36:32Z")

</div>

Ciao a tutti

Sto utilizzando l’API di Discourse per recuperare un argomento / tutti i suoi post e poi ogni post e il suo contenuto.

I miei forum sono ospitati su `forums.xxx.com`  
Utilizzo l’API per recuperare i post e inserirli sul mio dominio `www.xxx.com` e creare collegamenti reciproci tra i due.

Tutto questo funziona tranne che il contenuto che recupero utilizza URL relativi - quindi un link a un utente (quando si è sul dominio dei forum) sarebbe `forums.xxx.com/u/the-user`

Poiché recupero quel post sul mio dominio `www.xxx.com`, si collega a `www.xxx.com/u/the-user` - che ovviamente non esiste.  
Lo stesso problema si estende a eventuali emoji o immagini incluse nel post - i link sono interrotti.

C’è un modo per far sì che i link in arrivo (uso `content: 'data['cooked']'`) rimandino al dominio originale?

---

<div class="post-metadata">

### Author: ![bobpies](https://avatars.discourse-cdn.com/v4/letter/b/3ec8ea/32.png) [@bobpies](https://meta.discourse.org/u/bobpies)
#### Post date: [11 Maggio 2023, 10:50am UTC](https://meta.discourse.org/t/api-retrieve-post-relative-urls/264633/2 "2023-05-11T10:50:47Z")

</div>

ho anche chiesto a chat GPT la stessa domanda e ho ottenuto subito una risposta funzionante

utilizzando un metodo helper per sostituire gli URL all’interno dei dati elaborati

```rb
def update_urls(content)
    forum_domain = 'https://forums.xxx.com'

    # Aggiorna gli attributi href
    content.gsub!(/href=\"(\\/[^\"]*)\"/i) { |match| "href=\"#{forum_domain}#{$1}\"" }

    # Aggiorna gli attributi src
    content.gsub!(/src=\"(\\/[^\"]*)\"/i) { |match| "src=\"#{forum_domain}#{$1}\"" }

    content
  end

```

Quindi lascerò questo qui per chiunque altro - se qualcuno ha una soluzione più elegante pronta all’uso, sarei interessato

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [10 Giugno 2023, 10:51am UTC](https://meta.discourse.org/t/api-retrieve-post-relative-urls/264633/3 "2023-06-10T10:51:18Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
