Visualizzazione risultati 1 fino 11 di 11

Discussione: problemi .htaccess su sito misonsanapi

  1. #1
    misonsanapi non è connesso Neofita
    Data registrazione
    24-01-2020
    Messaggi
    14

    Unhappy problemi .htaccess su sito misonsanapi

    Ho creato un nuovo sito (misonsanapi) per attività di volontariato.
    Utilizzo per la parte frontend un progetto Angular. (sottocartella UMS)

    Per la parte backend un progetto Laravel. (Sottocartella laraapi)
    i siti sono sottocartelle della root principale.
    Per ogni sito ho un file .htaccess personalizzato per il proprio ambiente.
    Vedo che nella root principale esiste un file .htaccess che non fa parte della mia struttura
    e che forse è stato creato dalla procedura di generazione del sito.

    Ho dei comportamenti assolutamente anomali nella visualizzazione delle pagine
    (ottengo sempre errore404 mentre in ambiente di sviluppo la navigazione è corretta).

    Volevo chiedervi se posso avere assistenza per poter gestire in maniera funzionale il sito.
    Vi ringrazio per la disponibilità ad offrire gratuitamente il servizio Hosting;
    come attività di volontariato ve ne siamo eternamente grati.

    Resto a disposizione per ogni vostra richiesta di chiarimento.
    Buona giornata
    Moreno

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

    Predefinito

    In altervista é necessario specificare mia_cartella di destinazione del file .htaccess con RewriteBase /mia_cartella/ dopo aver abilitato RewriteEngine On
    Altervista crea il file .htaccess per impostare la versione di php o altre impostazioni selezionate dal pannello di controllo Altervista.
    Forse il problema é il codice .htaccess locale a non essere compatibile con htaccess remoto.
    Puoi mostrare i codici racchiusi dal tag code?
    Sarebbe possibile registrare un dominio diverso da quello corrente da un percorso che visualizza un sottodomio (o aggiungere una regola DNS per dominio di secondo livello).. Ma credo non é ciò che stai cercando.
    Ultima modifica di darbula : 29-01-2020 alle ore 17.36.46

  3. #3
    misonsanapi non è connesso Neofita
    Data registrazione
    24-01-2020
    Messaggi
    14

    Predefinito

    Grazie darbala per la cortese risposta

    Avrai già capito che il mio livello di conscenza è a livello quasi asilo.
    Mi sto cimentando nella mia prima web application utilizzando Angular come frontend e laravel con Mysql per il backend.
    Ho pensato subito ad altervista come soluzione per il deploy, ma ai primi (forse banali) problemi mi sono bloccato.

    cercando di risponderti al meglio, ti passo il codice dei file .htaccess dei due server installati.

    .htaccess del sito backend
    <IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
    Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
    </IfModule>
    .htaccess del sito frontend (angular)
    RewriteEngine On
    # If an existing asset or directory is requested go to it as it is
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
    RewriteRule ^ - [L]

    # If the requested resource doesn't exist, use index.html
    RewriteRule ^ index.html

    .htaccess della root principale

    # # av:php5-engine
    AddHandler av-php73 .php
    sotto alla root del sito ho creato le due sottocartelle che contengono il sito di frontend e backend rispettivamente

    UMS sito di frontend in angular
    laraapi sito di backend in laravel con database Mysql

    spero di averti dato quanto richiesto.
    Sono a disposizione per ogni integrazione richiesta.

    Grazie per la pazienza e scusami, ma sono neofitaa e quindi imbranato.

    Buona serata

    Moreno

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

    Predefinito

    Devi aggiungere RewriteBase / dopo RewriteEngine On , lo slash iniziale indica la root (ovviamente il file htaccess deve risiedere nella root o altrimenti inserire la directory corrente in RewriteBase).
    Non puoi utilizzare DOCUMENT_ROOT in un server condiviso, puoi però usare un percorso.
    Backend:
    Codice:
    <IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
    Options -MultiViews -Indexes
    </IfModule>
    
    RewriteEngine On
    RewriteBase /
    
    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    
    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]
    
    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
    </IfModule>
    frontend:
    Codice:
    RewriteEngine On
    RewriteBase /
    # If an existing asset or directory is requested go to it as it is
    RewriteCond %{HTTP_HOST}%{REQUEST_URI} -f [OR]
    RewriteCond %{HTTP_HOST}%{REQUEST_URI} -d
    RewriteRule ^ - [L]
    
    # If the requested resource doesn't exist, use index.html
    RewriteRule ^ index.html
    Dal pannello di controllo altervista nella versione semplificata é possibile guardare se il file htaccess é privo da errori.
    Ultima modifica di darbula : 30-01-2020 alle ore 01.19.17

  5. #5
    misonsanapi non è connesso Neofita
    Data registrazione
    24-01-2020
    Messaggi
    14

    Predefinito

    Ciao Durbala

    grazie per l'attenzione.
    Ho modificato i file .htaccess come indicatomi.
    i file corretti e aggiornati sono questi:

    .htaccess lato backend - su cartella api

    <IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
    Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On
    RewriteBase /

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
    </IfModule>
    .htaccess lato frontend (angular) - su cartella ums

    RewriteEngine On
    RewriteBase /
    # If an existing asset or directory is requested go to it as it is
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
    RewriteRule ^ - [L]

    # If the requested resource doesn't exist, use index.html
    RewriteRule ^ index.html
    file .htaccess su root del sito misonsanapi

    # # av:php5-engine
    AddHandler av-php73 .php
    ti riporto lo screenshot della struttura del sito.
    Dopo le correzzioni non vedo apparenti modifiche.

    Grazie
    Moreno


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

    Predefinito

    Su
    .htaccess lato backend - su cartella api sostituisci RewriteBase / con RewriteBase /api/
    Su htaccess lato frontend (angular) - su cartella ums sostituisci RewriteBase / con RewriteBase /ums/

  7. #7
    misonsanapi non è connesso Neofita
    Data registrazione
    24-01-2020
    Messaggi
    14

    Predefinito

    Ciao Darbula

    ho effettuato le correzzioni che mi hai consigliato e ho qualche miglioramento.

    lato Backend
    Impostata su .htaccess RewriteBase /api/ sono riuscito a effettuare la registrazione di un utente.
    Se effettuo la login, impostando le credenziali dell'utente appena creato, ritorna ancora sulla pagina di login con campi vuoti.

    Lato Frontend
    aggiornata .htaccess RewriteBase /ums/
    Impostando url misonsanapi.altervista.org/ums/users dovrebbe visualizzarmi l'elenco degli utenti presenti in my_misonsanapi/users mentre non mostra assolutamente nulla.

    un passino in più grazie a te.
    perchè non visualizza i dati a frontend ?


    nel caso avessi la necessità (avuta in precedente post) di allegare immagini, vedo che devo inserire un url e quindi devo salvare la foto in remoto. Non c'è la possibilità di allegare da locale ?
    come posso fare ?

    Grazie

    Moreno

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

    Predefinito

    Penso che apache non sta inviando l'intestazione Authorization, per questo motivo non riconosce il login e vieni inoltrato nuovamente al login.
    Qui la DOCUMENT_ROOT reale per il tuo account é /membri/misonsanapi non puoi avere più di una DOCUMENT_ROOT.
    Ultima modifica di darbula : 30-01-2020 alle ore 19.31.34

  9. #9
    misonsanapi non è connesso Neofita
    Data registrazione
    24-01-2020
    Messaggi
    14

    Predefinito

    Ciao Darbala

    grazie per la cortese risposta.

    nella tua risposta hai detto
    Penso che apache non sta inviando l'intestazione Authorization, per questo motivo non riconosce il login e vieni inoltrato nuovamente al login.
    Qui la DOCUMENT_ROOT reale per il tuo account é /membri/misonsanapi non puoi avere più di una DOCUMENT_ROOT.
    nel sito di frontend, fatto in angular quindi che contiene solo HTML e javascript, perchè non succede nulla se imposto l'url per la visualizzazione ?
    es. misonsanapi.altervista.org/ums/users dovrebbe visualizzarmi l'elenco degli utenti presenti in mysql tabella users, mentre resta una pagina bianca.
    anche qui il problema è la DOCUMENT_ROOT ?

    dove trovo la DOCUMENT_ROOT come file nella struttura del sito ?
    i miei siti sono:

    - ums --> sito di frontend (Angular)
    - laraapi --> sito di backend (Laravel)
    - api --> cartella public del sito laraapi
    contiene:
    - cartella CSS
    - cartella Js
    - file .htaccess
    - file index.php
    - web.config
    - e i file: mix-manifest.json, robots.txt

    scusa la modalità confusa con la quale rispondo alle tue osservazioni, ma da neofita sono in difficoltà anche a effettuare le correzzioni che mi suggerisci. Sono quasi arrivato a vedere in linea il sito e questi errori mi creano un vero disagio.
    Grazie ancoraa per la pazienza.
    Moreno

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

    Predefinito

    Se la cartella users non esiste in ums significa che htaccess lo invia a index.php e lui dovrebbe trasformare il tutto.
    Ma il codice sorgente PHP non dovrebbe mai usare $_SERVER['DOCUMENT_ROOT'], mi puoi mostrare ums/index.php tra i tag code?
    Non la trovi o meglio sarebbe su un file php nella root
    Codice:
    <?php
    echo dirname(__FILE__);
    Ultima modifica di darbula : 02-02-2020 alle ore 15.39.04

  11. #11
    misonsanapi non è connesso Neofita
    Data registrazione
    24-01-2020
    Messaggi
    14

    Predefinito

    Ciao Darbala

    Il mio è un progetto angular.
    UMS è la parte frontend e utilizza Single page application.
    Il file index.php non c'è e c'è index.html.

    il codice è questo.

    <!doctype html>
    <html lang="en">
    <head>
    <meta charset="utf-8">
    <title>UMS - V1</title>
    <base href="http://misonsanapi.altervista.org/ums/">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="icon" type="image/x-icon" href="favicon.ico">
    <script src="https://kit.fontawesome.com/a076d05399.js"></script>

    <link rel="stylesheet" href="styles.5bf5ab88914ccbc83854.css"></head>
    <body>
    <app-root></app-root>
    <script src="runtime-es2015.edb2fcf2778e7bf1d426.js" type="module"></script><script src="runtime-es5.edb2fcf2778e7bf1d426.js" nomodule defer></script><script src="polyfills-es5.6696c533341b95a3d617.js" nomodule defer></script><script src="polyfills-es2015.2987770fde9daa1d8a2e.js" type="module"></script><script src="scripts.dda2d1846184eca6c160.js" defer></script><script src="main-es2015.db7768b8309e666a42ed.js" type="module"></script><script src="main-es5.db7768b8309e666a42ed.js" nomodule defer></script></body>
    </html>
    è il file dopo la compilazione nella cartella dist.

    spero ti possa aiutare.
    graziie

    Moreno

Regole di scrittura

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