• User

    Problema redirect php

    Ciao a tutti!! Ho un sito, supponiamo si chiami www miosito.it, in cui ho installato zen cart; l'installazione è stata fatta non nella cartella di root, bensì in una cartella da me creata (supponiamo "shop")...ovvero l'index.php si trova su www miosito.it/shop/index.php. Quindi cercando l'url www miosito.it ovviamente non si trova nulla, quindi ho inserito nella root un file index.php con un semplice codice per il redirect a www miosito.it/shop.

    La soluzione ovviamente non è soddisfaciente, e inoltre mi crea un problema abbastanza noioso con l'applicazione sharer di facebook che non riesce a leggere i meta-tags delle varie pagine! (non posso farne a meno perchè è un sito di ecommerce e capirete l'importanza di poter condividere su facebook i vari prodotti...).

    Un'altra cosa strana è che se al parametro "u" della sharer passo il link www miosito.it/index.php (ovvero dove si trova il redirect), i dati vengono passati correttamente e visualizza correttamente tutti i dati estrapolati dalle meta-tags! Qualsiasi altro url gli venga passato però non funge!

    Quindi ho chiesto al servizio proprietario del server se fosse possibile aggiungere un redirect nelle impostazioni di Apache ma mi hanno risposto negativamente...

    Cosa posso fare?? Praticamente non sto dormendo per questa cosa, sono giorni e giorni che lotto per una soluzione! :mmm:

    Vi ringrazio anticipatamente

    Ciao, Maurizio


  • User Attivo

    Ciao, prova con questo file .htaccess che ti allego.

    Scarica: www mediafire.com/?3qanlvrtooyg2tc

    PS: ovviamente al file in questione dovrai eliminare l'estensione "txt" e aggiungere il punto all'inizio.


  • User

    @Web Designer said:

    Ciao, prova con questo file .htaccess che ti allego.

    Scarica: www mediafire.com/?3qanlvrtooyg2tc

    PS: ovviamente al file in questione dovrai eliminare l'estensione "txt" e aggiungere il punto all'inizio.

    Ciao, ho provato con il file .htaccess questi giorni ma non funzionava, probabilmente però sbagliavo qualcosa nello script!

    Ora provo questo e ti faccio sapere...nel frattempo ti ringrazio!! :wink3:


  • User

    Ciao, ho provato il file .htaccess ma non funziona...l'ho inserito su miosito.it, ovvero la cartella di root e ho eliminato l'index.php ma niente...andando su www miosito.it mi dice:
    Directory Listing Denied

    This Virtual Directory does not allow contents to be listed.

    E ovviamente persiste anche il problema di facebook...

    Nel file che mi hai mandato ho sostituito "dominio.it" con "miosito.it" (il vero nome ovviamente) e "cartella" con "shop"...ho sbagliato qualcosa? In base alla situazione generale che ho descritto nel primo post l'ho compilato correttamente?

    Grazie mille dell'aiuto

    Maurizio

    ps

    Ovviamente l'ho salvato come .htaccess prima di caricarlo sul server 😃


  • User Attivo

    L’estensione del file di default (php/html/htm) devono essere adeguati rispettivamente alle specifiche esigenze del sito.
    Ad esempio:

    #in caso di un file di default con estensione .htm sostituire con RewriteRule ^(/)?$ cartella/index.htm caso di un file di default con estensione .html sostituire con RewriteRule ^(/)?$ cartella/index.html

    In merito all'errore che ottieni, pare che nella cartella del sito manca il file index.html. Quando manca il file index.html che è la pagina di default il server mostra la lista dei file contenuti nella cartella, a meno che - e questo è il tuo caso - la visualizzazione della lista non sia inibita tramite l'impostazione del parametro DirectoryListing nel file di configurazione del server. Se manca index.html e DirectoryListing e' inibito il server invia il messaggio di errore che vedi.


  • User

    @Web Designer said:

    L?estensione del file di default (php/html/htm) devono essere adeguati rispettivamente alle specifiche esigenze del sito.
    Ad esempio:

    #in caso di un file di default con estensione .htm sostituire con RewriteRule ^(/)?$ cartella/index.htm caso di un file di default con estensione .html sostituire con RewriteRule ^(/)?$ cartella/index.html

    In merito all'errore che ottieni, pare che nella cartella del sito manca il file index.html. Quando manca il file index.html che è la pagina di default il server mostra la lista dei file contenuti nella cartella, a meno che - e questo è il tuo caso - la visualizzazione della lista non sia inibita tramite l'impostazione del parametro DirectoryListing nel file di configurazione del server. Se manca index.html e DirectoryListing e' inibito il server invia il messaggio di errore che vedi.

    Scusa ma le righe che hai citato in merito al file html non ci sono nel file che ho scaricato! Comunque...nella root non c'è nessun file index.html perchè il sito l'ho installato nella cartella /shop/...oppure dev'esserci lo stesso? Se si, cosa deve contenere? Fino ad ora ripeto ho messo un file index.php con il redirect alla cartella cdr...

    Abbi pazienza ormai sono in confusione totale... :bho:


  • User Attivo

    Generalmente si ottiene questo messaggio di errore solo quando non ci sono le pagine web presenti nel web root. È necessario caricare le pagine web nella cartella principale del tuo sito web. Impostare la pagina di default come index.html, default.php, default.aspx a seconda di quale sia la pagina predefinita che si desidera impostare come predefinita per i documenti e accedere al sito web.


  • User

    Ok quindi la pagina index.html o default.php (come faccio a sapere quale scegliere?) ci dev'essere per forza...ma cosa deve contenere?? E poi...quelle righe sul file html le devo aggiungere al file .htaccess?


  • User

    Mi sfugge sicuramente qualcosa di incredibilmente banale! Ho inserito nella root del sito un file index.html vuoto ed infatti, come hai detto tu, non si verifica più l'errore ma viene visualizzata una pagina bianca. Il redirect però non avviene! Come mai?? help!!


  • User Attivo

    Scusa ma non ho capito a cosa ti serve il redirect, in quanto per far funzionare il tutto devi spostare i files nella directory principale (root). Peraltro devi usare index.php.
    PS: ma nel server hai creato il file "configure.php" rinominando "/includes/dist-configure.php" al quale poi darai i permessi 777?


  • User

    Umm...mi sa che il problema sta qui allora! Io in shop/includes/ ho due file: configure.php e configure2.php (tutti e due con permessi 777)ma dist-configure.php non c'è!

    Mi sono accorto ora che hanno lo stesso contenuto, tra cui quello che suppongo serva a me è:

    // Define the webserver and path parameters
    // HTTP_SERVER is your Main webserver: eg-http: // www your_domain.com
    // HTTPS_SERVER is your Secure webserver: eg-https: // www your_domain.com
    define('HTTP_SERVER', 'http: // www miosito.it');
    define('HTTPS_SERVER', 'https: // www miosito.it');

    // Use secure webserver for checkout procedure?
    define('ENABLE_SSL', 'false');

    // NOTE: be sure to leave the trailing '/' at the end of these lines if you make changes!
    // * DIR_WS_* = Webserver directories (virtual/URL)
    // these paths are relative to top of your webspace ... (ie: under the public_html or httpdocs folder)
    define('DIR_WS_CATALOG', '/shop/');
    define('DIR_WS_HTTPS_CATALOG', '/shop/');

    define('DIR_WS_IMAGES', 'images/');
    define('DIR_WS_INCLUDES', 'includes/');
    define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/');
    define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/');
    define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/');
    define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/');
    define('DIR_WS_DOWNLOAD_PUBLIC', DIR_WS_CATALOG . 'pub/');
    define('DIR_WS_TEMPLATES', DIR_WS_INCLUDES . 'templates/');

    Quindi tu dici di spostare TUTTI I FILE all'interno della cartella shop nella cartella root e modificare i file configure.php di conseguenza?? Se si come li modifico?

    E' un operazione che volevo fare anch'io per tagliare la testa al toro, ma avevo paura di fare qualche danno...visto che il sito è già avviato con prodotti e utenti registrati quindi non posso permettermi errori!! Dici che non c'è pericolo?

    Inoltre, io so che per motivi di sicurezza e comodità è consigliabile installare zen cart in una cartella diversa da quella di root...che ne pensi?

    Guarda, mi sto dando fastidio da solo perchè non ho molta esperienza con php e quindi faccio abbastanza confusione...quindi ti ringrazio per la pazienza e l'aiuto che mi stai fornendo!

    Ciao, Maurizio


  • User Attivo

    Devi individuare il file: ?/includes/dist-configure.php? (che ora a te risulta come "configure2.php") e rinominarlo in ?configure.php? e cambiare i permessi a 777 , dopodichè devi individuare il file ?/admin/includes/dist-configure.php? e rinominalrlo in ?configure.php? e poi cambiare i permessi a 777 (come anzidetto).
    Devi spostare tutto nella directory principale.


  • User

    @Web Designer said:

    Devi individuare il file: ?/includes/dist-configure.php? (che ora a te risulta come "configure2.php") e rinominarlo in ?configure.php? e cambiare i permessi a 777 , dopodichè devi individuare il file ?/admin/includes/dist-configure.php? e rinominalrlo in ?configure.php? e poi cambiare i permessi a 777 (come anzidetto).
    Devi spostare tutto nella directory principale.

    Allora ho riguardato i file e questo lavoro l'avevo già fatto! infatti i file dist-configure.php sono già rinominati in configure.php e hanno i permessi a 777.

    Ora...tu indendi spostare TUTTI QUANTI i file del sito dalla cartella shop alla cartella root? Perchè così facendo bisogna per forza modificare anche i file configure (che rimandano alla cartella shop)...o sbaglio??

    es:

    define('DIR_WS_ADMIN', '/shop/adminxxxx/');
    define('DIR_WS_CATALOG', '/shop/');
    define('DIR_WS_HTTPS_ADMIN', '/shop/adminxxxxxx/');
    define('DIR_WS_HTTPS_CATALOG', '/shop/');

    non posso lasciarlo così ovviamente


  • User Attivo

    Esatto!
    Esempio:
    define(?DIR_WS_ADMIN?, ?/admin/?);
    ...e così via.


  • User

    Ciao, ho fatto come hai detto tu!! Allora c'è subito un problema...nella home page mi chiede che venga creata la cartella della cache nella cartella shop!! Eppure in tutti i configure ho eliminato shop!

    La cosa strana è che la cartella shop c'è ancora perchè all'interno nella cartella include c'è ancora il file configure.php vecchio e non posso eliminarlo! Probabilmente il server crede ancora che debba usare quello...almeno credo!! Comunque non posso cambiare i permessi per eliminarla...ho provato con filezilla e con gftp in ubuntu ma niente!!

    Come faccio?????


  • User

    Se provo a cancellarlo mi dice "500 Failed to delete the file."


  • User Attivo

    Ma sei hostato su Linux o Windows?


  • User

    Su windows


  • User Attivo

    Zen Cart gira bene su Hosting Linux, e su windows ha sempre problemi. Quindi ti consiglio di chiamare il gestore affinchè tu possa risolvere ovvero passare da Windows a Linux che è la migliore cosa. 🙂


  • User

    Va bene...ti ringrazio tantissimo per l'aiuto!!!!

    Ciao, Maurizio