Pagina 2 di 2 PrimoPrimo 12
Visualizzazione risultati 31 fino 34 di 34
Like Tree1Likes

Discussione: Forzare HTTPS

  1. #31
    esperatempo non è connesso Utente Blog
    Data registrazione
    28-11-2021
    Messaggi
    24

    Predefinito

    Mi avevi detto di metterlo nel file "basic/web/index.php" non nel SiteController. Devo metterlo nell'azione "site/index"?

  2. #32
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,896

    Predefinito

    Si su basic/web/index.php che non so se è prima del controller.. Comunque https://www.yiiframework.com/doc/api...irect()-detail ritorna l'oggetto attuale e per il browser con redirect ti occorre il contenuto successivo (con return).
    Se devi aggiungere una Location immediatamente esiste il metodo send(), altrimenti per il controller utilizzare il return https://www.yiiframework.com/doc/api...irect()-detail
    Quindi imposta arbitrariamente un redirect Location di destinazione, come conseguenza se lo schema del protocollo non è https forzi schema e redirect altrimenti se https ovviamente non effettui il redirect Location e mostri la pagina destinazione poiché origine e destinazione sono identiche.
    EDIT modificato il codice https://forum.it.altervista.org/prob...ml#post1486525
    Ultima modifica di darbula : 02-04-2023 alle ore 20.19.30

  3. #33
    esperatempo non è connesso Utente Blog
    Data registrazione
    28-11-2021
    Messaggi
    24

    Predefinito

    Citazione Originalmente inviato da darbula Visualizza messaggio
    Hai provato con il return?
    Il codice che crea $_SERVER['HTTPS'] va prima
    Codice PHP:
    class SiteController extends BaseController
    {
    public function
    actionIndex()
    {
    if(isset(
    $_SERVER['HTTPS']) && strcasecmp('on', $_SERVER['HTTPS']) === 0
    {
    Url::to(['/post/list'], !localhost() ? 'https' : '');
    }
    else
    {
    return
    $this->redirect(Url::to(['/post/list'], !localhost() ? 'https' : ''));
    }
    }
    Questo codice non ha in realtà molto senso, intanto perché è dentro l'azione 'site/index', che è soltanto una delle tante azioni dei tanti controller. Se quindi richiamo ad esempio l'azione 'project/events' non viene eseguito. Poi la prima istruzione (Url::to...) crea soltanto un indirizzo e non fa niente. Riguardo poi a redirect, è vero che restituisce la pagina, ma esegue comunque il redirect anche senza return.

    Grazie comunque del tentativo.

  4. #34
    esperatempo non è connesso Utente Blog
    Data registrazione
    28-11-2021
    Messaggi
    24

    Predefinito

    Citazione Originalmente inviato da darbula Visualizza messaggio
    Modificare il file basic/web/.htaccess in
    Codice:
    RewriteEngine on
    RewriteBase /basic/web/
    
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteCond %{HTTPS} off
    RewriteRule .* https://esperatempo.altervista.org%{REQUEST_URI} [L,R=301]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule . index.php [L]
    la precedenza è per forzare in https tramite RewriteRule
    Ciao, mi sono ricimentato dopo tanto tempo a cercare di forzare https sul mio sito e, rileggendo questo thread, ho provato di nuovo a implementare questa soluzione, che sembra in effetti funzionare. Non so all'epoca cosa avevo sbagliato.

    Grazie.

Pagina 2 di 2 PrimoPrimo 12

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •