Jump to content

dubbio su percorsi locali da Xampp a remoto


Recommended Posts

Stavo lavorando su una copia del sito in locale su Xampp. Quando faccio un link nel menù a una pagina cms scrivo per esempio:

/localhost/it/content/05-pagina-cms

 

Quando poi vado a pubblicare il sito in remoto sul server il link non funziona perchè punta a /localhost/.

Allora vorrei risolvere scrivendo i link col percorso relativo tipo:

../it/content/05-pagina-cms

ma non funziona perchè in realtà quella pagina non c'è e nemmeno la cartella /it/.

 

Come si fa quindi a fare in modo che i link vadano sia in locale che in remoto? :mellow:

Link to comment
Share on other sites

ciao nicola82,
PrestaShop è molto "portable" cioè puoi spostare o copiare una installazione da un server all'altro senza troppi fastidi.

 

Ciò però non significa che siam immediato, alcune cose vanno comunque fatte, attenzione quindi:

 

file .htaccess : controlla che non ci siano percorsi che stonano (es. se sotto xampp avevi tutto in una cartella) o che vanno aggiustati, se non sei sicuro di come va aggiustato l'.htaccess puoi rigenerarlo semplicemente così: disattivi gli url semplificati, poi lo cancelli o lo rinomini e poi li riattivi (in quel caso il file viene rigenerato corretto).

 

Indirizzo del sito: è una impostazione che sta nel database quindi o la ritocchi dopo il passaggio, o vai nel db a sistemare l'impostazione. Siccome altri moduli possono salvare percorsi nel db io seguo quest'ultimo metodo così li sistemo tutti:

 

apri phpmyadmin sul server finale,
tabella ps_configuration
Cerca
nel campo value metti %localhost% (nota che il carattere % è una specie di jolly)

poi modifichi tutti i record che escono sostituendo a localhost il dominio del sito finale

Spero di esser stato d'aiuto, buon lavoro

Link to comment
Share on other sites

ciao nicola82,

PrestaShop è molto "portable" cioè puoi spostare o copiare una installazione da un server all'altro senza troppi fastidi.

 

Ciò però non significa che siam immediato, alcune cose vanno comunque fatte, attenzione quindi:

 

file .htaccess : controlla che non ci siano percorsi che stonano (es. se sotto xampp avevi tutto in una cartella) o che vanno aggiustati, se non sei sicuro di come va aggiustato l'.htaccess puoi rigenerarlo semplicemente così: disattivi gli url semplificati, poi lo cancelli o lo rinomini e poi li riattivi (in quel caso il file viene rigenerato corretto).

 

Indirizzo del sito: è una impostazione che sta nel database quindi o la ritocchi dopo il passaggio, o vai nel db a sistemare l'impostazione. Siccome altri moduli possono salvare percorsi nel db io seguo quest'ultimo metodo così li sistemo tutti:

 

apri phpmyadmin sul server finale,

tabella ps_configuration

Cerca

nel campo value metti %localhost% (nota che il carattere % è una specie di jolly)

poi modifichi tutti i record che escono sostituendo a localhost il dominio del sito finale

 

Spero di esser stato d'aiuto, buon lavoro

ciao, grazie della risposta.

se  ho capito bene il tuo metodo non è equivalente a mettere correttamente i valori "dominio negozio", "dominio ssl" sotto impostazioni >> seo&urls?

 

 

 

Cmq il mio problema base è che lavorando con XAMPP si è costretti a montare prestashop in una sotto directory (ad esempio localhost/shop) e quindi impostare:

 

dominio negozio: localhost

dominio ssl: localhost

URI base: /shop/

 

Quindi lavorandoci si è costretti a fare tutti i collegamenti in locale tipo : localhost/shop/img/logo.jpg

Per poi doverli risistemare una volta pubblicato il sito.

 

Se si potesse montare prestashop nella root di XAMPP non ci sarebbero di questi problemi , o mi sbaglio? :wacko:

Link to comment
Share on other sites

se metti dell'HTML fatto a mano devi usare sempre URL relativi e mai assoluti, altrimenti una volta portato il sito altrove diventa un mal di testa doverli cambiare tutti..(soprattutto trovarli).

Certament il mio metodo è l'equivalente della configurazione che hai detto ma in caso ci siano moduli che usano percorsi assoluti riesci ad accorgertene (è comunque molto raro)

Link to comment
Share on other sites

non riesco proprio ad usare percorsi relativi!

cioè se metto per esempio un link nel footer del sito e voglio farlo puntare ad una pagina cms, scrivo:

 

/shop/it/content/chi-siamo-4       e funziona :)

 

pero' è sbagliato perche contiene /shop/ che è la sottodirectory di XAMPP dove ho messo presta. Non ci deve essere perchè poi una volta pubblicato perstashop sarà nella root del dominio e non nella directory shop.

 

questo sarebbe il percorso relativo giusto per il link? :wacko:

../it/content/chi-siamo-4

Link to comment
Share on other sites

Personalmente preferisco mettere lo shop in una sottocartella. Forse non è la soluzione più elegante, ma facilita molte cose, probabilmente anche questa che descrivete nel post.

Con un redirect in index.html nella root, rimando direttamente nella cartella giusta.

Buon ferragosto

Link to comment
Share on other sites

non riesco proprio ad usare percorsi relativi!

cioè se metto per esempio un link nel footer del sito e voglio farlo puntare ad una pagina cms, scrivo:

 

/shop/it/content/chi-siamo-4       e funziona :)

 

pero' è sbagliato perche contiene /shop/ che è la sottodirectory di XAMPP dove ho messo presta. Non ci deve essere perchè poi una volta pubblicato perstashop sarà nella root del dominio e non nella directory shop.

 

questo sarebbe il percorso relativo giusto per il link? :wacko:

../it/content/chi-siamo-4

mi auto quoto:

/shop/it/content/chi-siamo-4       e funziona  :)

../it/content/chi-siamo-4              non funziona.

 

lo stesso con le immagini

/shop/img/cms/immagine.gif    funziona

../img/cms/immagine.gif           non funziona...

 

perchè? dove sbaglio? :(

Link to comment
Share on other sites

La questione dei path relativi funziona: devi fare correttamente i calcoli di quanti "salti indietro" devi fare, tutto qua.

Impossibile aiutarti senza vedere la pagina in questione.

 

Ti suggerisco un altro sistema: xampp portable usato solo per il sito, e installazione nella root di xampp.  Infine nel file hosts di windows (si trova sotto Windows\system32\drivers\etc) vai a mappare

 

127.0.0.1   www.dominiofinale.com

così puoi veramente fare le prove in locale come se fossi sul sito finale.

 

Link to comment
Share on other sites

La questione dei path relativi funziona: devi fare correttamente i calcoli di quanti "salti indietro" devi fare, tutto qua.

Impossibile aiutarti senza vedere la pagina in questione.

 

Ti suggerisco un altro sistema: xampp portable usato solo per il sito, e installazione nella root di xampp.  Infine nel file hosts di windows (si trova sotto Windows\system32\drivers\etc) vai a mappare

 

127.0.0.1   www.dominiofinale.com

 

così puoi veramente fare le prove in locale come se fossi sul sito finale.

 

 

grazie, domani vedo di xampp portable e provo!

Cmq io ho gia XAMPP non portable installato, quindi questo mi da un conflitto quando vado a mappare?

praticamente tengo lo xampp che ho gia installato e mappo quello!

 

Cmq per la questione dei salti da fare, nell'esempio sopra era 1 salto solo eppure non funzionava, la pagina in questione era l'homepage.

Edited by nicola82 (see edit history)
Link to comment
Share on other sites

ho provato:

 

nel file host ho mappato

 

127.0.0.1 www.miosito.it
127.0.0.1 miosito.it
 
e adesso quando digito nel browser www.miosito.it oppure miosito.it mi porta direttamente alla home di xampp e mi mostra questo indirizzo: http://www.miosito.it/xampp/
 
Solamente che prestashop è montato dentro la cartella shop dentro htdocs, in pratica il percorso è:
C:\xampp\htdocs\shop
 
e una volta pubblicato il sito sarà sempre dentro la cartella shop con questo indirizzo:
www.miosito/shop/
 
quali sono i settaggi corretti che devo scrivere nel file host? :wacko:
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...