nicola82 Posted August 9, 2014 Share Posted August 9, 2014 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? Link to comment Share on other sites More sharing options...
cleoni Posted August 14, 2014 Share Posted August 14, 2014 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_configurationCercanel 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 finaleSpero di esser stato d'aiuto, buon lavoro Link to comment Share on other sites More sharing options...
nicola82 Posted August 14, 2014 Author Share Posted August 14, 2014 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? Link to comment Share on other sites More sharing options...
cleoni Posted August 15, 2014 Share Posted August 15, 2014 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 More sharing options...
nicola82 Posted August 15, 2014 Author Share Posted August 15, 2014 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? ../it/content/chi-siamo-4 Link to comment Share on other sites More sharing options...
assisassi Posted August 15, 2014 Share Posted August 15, 2014 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 More sharing options...
nicola82 Posted August 19, 2014 Author Share Posted August 19, 2014 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? ../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 More sharing options...
cleoni Posted August 20, 2014 Share Posted August 20, 2014 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.comcosì puoi veramente fare le prove in locale come se fossi sul sito finale. Link to comment Share on other sites More sharing options...
nicola82 Posted August 20, 2014 Author Share Posted August 20, 2014 (edited) 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 August 20, 2014 by nicola82 (see edit history) Link to comment Share on other sites More sharing options...
nicola82 Posted August 21, 2014 Author Share Posted August 21, 2014 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? Link to comment Share on other sites More sharing options...
nicola82 Posted August 24, 2014 Author Share Posted August 24, 2014 ho risolto, era la cache che non mi si cancellava bene e mi dava problemi coi percorsi. Cmq lascio prestashop dentro la cartella shop cosi' ho tutto semplificato. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now