• User

    Ripristino sito in locale e reinderizzamento www.localhost

    Ciao a tutti.
    Ho effettuato il ripristino in locale di un sito web in Joomla. L'operazione avviene con successo il problema è che non visualizzo correttamente il sito tranne con il browser Opera. Inoltre, nonostante io digiti nella barra degli indirizzi localhost/miosito avviene un redirect a www localhost. Perché questo redirect?

    In particolare:

    • Chrome: mi dice che la connessione non è privata;
    • Firefox: Non riesce a contattare il server www localhost
    • Opera: il frontend si vede bene (però sempre con il redirect www localhost. Se voglio accedere però all'administrator mi dice che è impossibile raggiungere il sito.

    Premetto che ho altri siti installati in locale con XAMPP che funzionano e si vedono perfettamente.

    Come posso risolvere?


  • User Attivo

    Ciao, da quel che posso capire hai impostato Joomla per fare il redirect su https ed essendo localhost privo di certificati "reali" vieni avvisato da chrome.
    Per quanto riguarda il www potrebbe essere aggiunto dal browser nel caso non riesca a trovare il server locale. Prova a forzare l'url come http : //localhost/miosito (dopo aver disattivato il redirect https).

    Potrebbero anche verificarsi dei problemi nel caso alcuni link abbiano il path assoluto (che inizia con /) perché questi cercherebbero i file in localhost/ invece di localhost/miosito

    Esistono dei metodi per fare in modo che tu possa accedere a ogni sito in xampp come se fosse in internet cioè, per esempio, miosito.localhost/ invece di localhost/miosito e in questo modo non avresti il problema del puntamento a / dopo la migrazione, ma sono configurazioni abbastanza complesse che coinvolgono sia il DNS che Apache.


  • User

    io ho anche altri siti in Joomla creati in https e poi installati in locale che funzionano bene. Non capisco perchè con questo sito ho i problemi. Quindi che procedura dovrei fare per risolvere il problema?


  • User Attivo

    Nell'interfaccia admin di Joomla vai su System/Global configuration/Server e verifica che l'impostazione "[LEFT]Force HTTPS" sia impostata su "None".
    Poi prova ad accedere a http : // localhost/tuosito
    [/LEFT]


  • User

    Non riesco a visualizzare la pagina di login dell'administrator. Posso visualizzare solo il frontend con opera


  • User Attivo

    In che senso? Ricevi un errore o cosa? Cambiare browser aiuta?

    In alternativa puoi editare direttamente il file configuration.php? In caso affermativo di dico cosa modificare.


  • User

    Mi dice sempre che la "connessione non è privata". In pratica riesco a vedere solamente il frontend (e neanche qui il backend) del sito internet tramite il browser Opera. Tutti gli altri browser mi restituiscono un errore di connessione privata.

    Dimmi cosa editare nel file configuration.php


  • User Attivo

    Cerca la linea
    [PHP] public $force_ssl = 'x';[/PHP]

    e imposta x a 0.

    Poi, ovviamente, accedi al sito con http anziché https

    Comunque, se il problema è quello che penso io, sia su Firefox che su Chrome è possibile procedere al sito anche se la connessione non è privata, anche se il come farlo non è molto intuitivo. Su Opera non lo so.


  • User

    Era già impostata a 0 la variabile.

    Se mi spieghi i passi da fare magari riesco a impostare i browser Firefox e Chrome.


  • User Attivo

    In Chrome, quando ti appare l'errore "Your connection is not private", clicca su "ADVANCED" e poi su "Proceed to localhost (unsafe)"
    In Firefox, devi sempre cliccare su "ADVANCED", poi su "Add exception" e poi su "Confirm Security Exception"

    Però mi pare strano che avvenga il redirect su https se non è impostato in Joomla. Non è che hai qualche regola in .htaccess?

    Per il problema del www prova a mettere http : // quando digiti l'url, altrimenti i browser (che non si fanno più gli affari loro) "credono" che tu abbia sbagliato e aggiungono automaticamente il www

    Bei tempi quando, in caso di errore di digitazione dell'URL, appariva un bel messaggio di errore. Ora invece fanno di tutto per farti vedere qualcosa, altrimenti gli utenti inesperti si spaventano 🙂


  • User

    Con chrome, cliccando su advanced e poi "Proceed to localhost (unsafe)" riesco a vedere il sito web però solo nel frontend. Se voglio accedere all'administrator mi dice che è impossibile raggiungere il sito. Su firefox invece non mi è comparso nessun "advanced".

    Se provo a mettere solo http : // localhost/miosito mi reindirizza a www . localhost (cioè vedo tutte le cartelle dei siti installati su xampp).

    Questo è quello che c'è scritto su .htaccess


    @package Joomla

    @copyright Copyright (C) 2005 - 2016 Open Source Matters. All rights reserved.

    @license GNU General Public License version 2 or later; see LICENSE.txt

    READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE!

    The line 'Options +FollowSymLinks' may cause problems with some server configurations.

    It is required for the use of mod_rewrite, but it may have already been set by your

    server administrator in a way that disallows changing it in this .htaccess file.

    If using it causes your site to produce an error, comment it out (add # to the

    beginning of the line), reload your site in your browser and test your sef urls. If

    they work, then it has been set by your server administrator and you do not need to

    set it here.

    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www .
    RewriteRule ^(.*)$ http : //www .%{HTTP_HOST}/$1 [R=301,L]

    No directory listings

    IndexIgnore *

    Can be commented out if causes errors, see notes above.

    Options +FollowSymlinks
    Options -Indexes

    Mod_rewrite in use.

    RewriteEngine On

    Begin - Rewrite rules to block out some common exploits.

    If you experience problems on your site then comment out the operations listed

    below by adding a # to the beginning of the line.

    This attempts to block the most common type of exploit attempts on Joomla!

    Block any script trying to base64_encode data within the URL.

    RewriteCond %{QUERY_STRING} base64_encode[^(]([^)])

    Block any script that includes a <script> tag in URL.

    RewriteCond %{QUERY_STRING} (<|%3C)([^s]s)+cript.(>|%3E) [NC,OR]

    Block any script trying to set a PHP GLOBALS variable via URL.

    RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2})

    Block any script trying to modify a _REQUEST variable via URL.

    RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})

    Return 403 Forbidden header and show the content of the root homepage

    RewriteRule .* index.php

    End - Rewrite rules to block out some common exploits.

    Begin - Custom redirects

    If you need to redirect some pages, or set a canonical non-www to

    www redirect (or vice versa), place that code here. Ensure those

    redirects use the correct RewriteRule syntax and the [R=301,L] flags.

    End - Custom redirects

    Uncomment the following line if your webserver's URL

    is not directly related to physical file paths.

    Update Your Joomla! Directory (just / for root).

    RewriteBase /

    Begin - Joomla! core SEF Section.

    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    If the requested path and file is not /index.php and the request

    has not already been internally rewritten to the index.php script

    RewriteCond %{REQUEST_URI} !^/index.php

    and the requested path and file doesn't directly match a physical file

    RewriteCond %{REQUEST_FILENAME} !-f

    and the requested path and file doesn't directly match a physical folder

    RewriteCond %{REQUEST_FILENAME} !-d

    internally rewrite the request to the index.php script

    RewriteRule .* index.php

    End - Joomla! core SEF Section.



  • User Attivo

    Elimina (o commenta con #) queste tre righe:

    @henryco.88 said:

    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www .
    RewriteRule ^(.*)$ http : //www .%{HTTP_HOST}/$1 [R=301,L]


  • User

    Cancellate le righe ma niente. Ma non vorrei che quando ho fatto il ripristino del database in locale abbia scritto gli indirizzi con quelle regole che ci sono nel htaccess.

    Se cancellassi il database e rifacessi il ripristino senza quelle regole, dici che potrei risolvere?


  • User Attivo

    Non credo che nel database ci siano url assoluti (per fortuna Joomla non è come Wordpress 🙂 ) però tutto può essere.
    Comunque prima di fare qualsiasi altro test prova a cancellare la cache del browser.


  • User

    Pulendo la cache dei browser (firefox e chrome) e cancellando quelle righe nel htaccess, vedo perfettamente il frontend e non ho più il problema di reinderizzamento a www . localhost e di sicurezza con https. Il problema però è che non posso accedere nel pannello amministrativo. Rispettivamente i browser mi restituiscono i seguenti messaggi di errore all'inirizzo http: // localhost / miosito / administrator:

    a) Firefox ->
    Errore di codifica del contenuto

    La pagina che si sta cercando di visualizzare non può essere mostrata poiché fa uso di una forma di compressione non valida o non supportata.

    Contattare il proprietario del sito web per informarlo del problema.
    

    b) Chrome - >
    Impossibile raggiungere il sito

    (...)
    ERR_CONTENT_DECODING_FAILED


  • User Attivo

    Su questo ho qualche dubbio ma, sempre in configuration.php, prova a mettere
    public $gzip = '0';


  • User

    L'Administrator ora funziona. Funziona tutto ora 😄 Grazie infinite!!! Sei stato gentilissimo e utile.

    Giusto per capire, come mai solo con questo sito web ho avuto questi problemi? Ho altri siti in Joomla e non ho riscontrato questo tipo di problemi.

    Grazie ancora.


  • User Attivo

    Prego, lieto di essere stato d'aiuto!

    I problemi di questo sito erano dovuti a configurazioni particolari (e giuste, sul server "vero") che magari sugli altri siti non hai.
    Ovviamente non avendo "sotto mano" gli altri siti non so dirti di più, ma tu puoi fare un confronto dei file .htaccess e configuration.php con gli altri siti e capire perché gli altri funzionano.

    Il problema vero è che probabilmente sulla tua installazione di Apache e PHP mancano alcune cose. Per Apache manca un certificato "vero" (che non puoi avere su un server localhost), il che genera il problema sull'https mentre, per PHP, probabilmente non è abilitata la compressione gzip.

    Per quanto riguarda il www invece dipende dal fatto che su un sito "normale" può essere corretto reindirizzare miosito.it su www . miosito . it tramite il file .htaccess ma se lo fai localmente localhost diventa www . localhost, che non esiste e quindi ti viene restituito un errore.