• User

    Impostazione dei file .htaccess

    Salve a tutti, sto ultimando un progetto ecommerce ad hoc ed ho la necessità di configurare i file .htaccess per l'url rewrite e per i permessi.

    Vi riporto le regole che ho impostato fino ad ora per avere una conferma da parte vostra circa la correttezza delle stesse:

    • Url rewrite per la pagina dei prodotti

    RewriteRule ^pro-([0-9]+)/([^/]+).html$ catalog/index.php?pagina=prodotto&idProdotto=$1

    Stessa cosa per le categorie, ovviamente cambiiando il prefisso da pro a cat.

    • Url rewrite per tutte le altre pagine:

    RewriteRule /nome-pagina-riscritto.html$ shop/index.php?pagina=nomePagina[NC,L]
    RewriteRule /nome-pagina-riscritto.html(.*) shop/index.php?pagina=nomePagina$1 [NC,L]

    Da notare che inserisco 2 regole per ciascuna url, la seconda per dare la possibilità di inserire nella url eventuali parametri get opzionali.

    • Regola per evitare che venga visualizzato l'indice delle directory (in un apposito htaccess all'interno della directory di interesse):

    Options -Indexes

    • Regola per impedire l'accesso diretto (in un apposito htaccess all'interno della directory di interesse):

    Deny From All

    • Regola per la personalizzazione della pagina per gli errori 404:

    ErrorDocument 404 /catalog/index.php?pagina=errore404

    A tal proposito vi chiedo, quali altri errori occorre gestire con una pagina personalizzata?

    Non sono esperto in materia. Le regole che sto utilizzando le ho trovate in rete e sembrano funzionare correttamente.

    Volevo inoltre chiedervi con quali regole ottenere i seguenti risultati:

    • Impostare un dominio di default, vale a dire unificare le richieste a prescindere da come viene scritto il dominio (con ww, senza ww, con index, senza index). Esempio: wwnomesito.it, nomesito.it, nomesito.it/index.php
    • La struttura file del sito è ospitata in una directori. Per cui l'intero sito si troverà in wwnomesitoit/catalog. Come posso creare un redirect che punti a tale directory? Posso farlo in php o conviene farlo in htaccess? Nel caso di php, creo un semplice file index.php con un header verso la directory, giusto? Invece volendolo fare in htaccess, quale sarà il contenuto dell'eventuale index contenuta nella root?

    Oltre alle impostazioni che ho segnalato, quali altre regole devono essere impostate a livello di htaccess circa la sicurezza, l'url rewrite e reindirizzamenti vari?

    Grazie 😉


  • User

    Salve, riguardo il redirect, ho inserito la seguente regola nel file .htaccess:

    redirect 301 /index.php htpwwnomesitocom/catalog/

    Il redirect funziona correttamente. Mi chiedevo se ora la pagina index.php che risiede nella root, dovrà avere del contenuto oppure dovrò lasciarla vuota.

    Inoltre, la pagina index.php contenuta della root, dovrà avere delle restrizioni circa l'indicizzazione?

    Riguardo a come viene scritto il nome a dominio (con ww o senza ww) ho notato che senza alcuna regola, il broswer rimanda automaticamente al nome a dominio con ww, anche se viene scritto senza. Sarà un impostazione del server?

    In ogni caso, ho trovato la seguente regola per htaccess che dovrebbe reindirizzare le richieste senza ww, anteponendo il ww:

    RewriteCond %{HTTP_HOST} !^ww.
    RewriteRule ^(.*)$ htpww.%{HTTP_HOST}/$1 [R=301,L]

    Come faccio a capire se funziona correttamente, dato che indipendentemente dall'inserimento di questa regola, il broswer si comporta nello stesso modo mostrandomi sempre e comunque il dominio con il ww. ?