• Moderatore

    htccess in Freeglobes - problemi nel rewrite

    🙂

    Salve.

    Questo di seguito è l'htaccess di default che dovrebbe funzionare una volta attivato il rewrite via pannello di controllo.
    [HTML]
    RewriteEngine on

    RewriteRule ^(.)-f-([0-9])-([0-9]).html$ feed.php?feedid=$2&linkid=$3
    RewriteRule ^(.
    )-s-([0-9]).html$ single.php?id=$2
    RewriteRule ^(.
    )-t-([0-9]).html$ tag.php?name=$1&id=$2
    RewriteRule ^(.
    )-c-([0-9]).html$ index.php?name=$1&dir=$2
    RewriteRule ^(.
    )-k-([0-9]).html$ index.php?do=keywords&words=$1&id=$2
    RewriteRule ^(.
    )-c-([0-9])-p-([0-9]).html$ index.php?name=$1&dir=$2&start=$3
    RewriteRule ^top-rank([0-9]{1,2}).html$ index.php?do=top-rank&pr=$1
    RewriteRule ^(([a-z]|-)*).html$ index.php?do=$1 [/HTML]

    E invece, almeno nel mio caso, così non è.

    Ho installato lo script nella root di un sottodominio (e la scelta, benchè ponderata, potrebbe avermi penalizzato ...).

    Qualcuno saprebbe indicarmi un htaccess funzionante?
    (o saprebbe indicarmi un possibile errore da me commesso..)

    Grazie di cuore.


  • Super User

    Io uso questo

    AddDefaultCharset UTF-8
    RewriteEngine on
    RewriteBase /directory/
    RewriteRule ^(.)-f-([0-9])-([0-9]).html$ feed.php?feedid=$2&linkid=$3
    RewriteRule ^(.
    )-s-([0-9]).html$ single.php?id=$2
    RewriteRule ^(.
    )-t-([0-9]).html$ tag.php?name=$1&id=$2
    RewriteRule ^(.
    )-c-([0-9]).html$ index.php?name=$1&dir=$2
    RewriteRule ^(.
    )-k-([0-9]).html$ index.php?do=keywords&words=$1&id=$2
    RewriteRule ^(.
    )-c-([0-9])-p-([0-9]).html$ index.php?name=$1&dir=$2&start=$3
    RewriteRule ^top-rank([0-9]{1,2}).html$ index.php?do=top-rank&pr=$1
    RewriteRule ^(([a-z]|-)*).html$ index.php?do=$1

    🙂 e funziona perfettamente 🙂
    La prima riga l'ho utilizzata per il charset quindi puoi ignorarla. Per il tuo htaccess manca il RewriteBase 🙂 Quindi prova a settare quello 😉


  • Moderatore

    Si, la RewriteBase.

    Ho provato ad aggiungerla in diverse occasioni.

    E ho provato ora il tuo (mi da sempre 500 Internal server error).

    Lo script è installato nella root di un sottodominio.

    Potrebbe essere questo il problema?

    L'htaccess va messo nel sottodominio o nel dominio principale (e dipende da come gestisce i sottodomini il server) ?

    E il Rewrite Base sarà / e basta, dato che è nella root.... oppure , visto che lato ftp il sottodominio non è altro che una cartella interna.... sarà /sottodominio/ ??

    Grazie Cionfs.

    🙂


  • Super User

    I terzi livelli li dovrebbe vedere come domini a parte e di conseguenza, in presenza di più htaccess su più terzi livelli, non dovrebbero darsi fastidio a vicenda. Dovresti a questo punto controllare le impostazioni del server per quanto riguarda la gestione dei terzi livelli 🙂


  • Moderatore

    Ho risolto.

    Una cazzata, ma che è effettivamente legata al tipo di politica adottata dall'hoster.

    Ma era molto meno complesso di quanto mi figurassi all'epoca della discussione.

    :lol:

    Ero abituato alla prassi del vecchio hoster, che mi faceva root diverse per i vari sottodomini.

    Ma era una pratica infinita farsi fare i sottodomini, aprire i db etc etc.

    L'ho cambiato non per nulla.

    Il nuovo hosting invece usa un Virtual Host Unico, e i sottodmini me li faccio da solo via pannello.

    Quindi il server genera il sottodominio ma lo 'stiva' creando una cartella nella root del dominio di secondo livello.

    Questo rendeva normali htaccess (dei cms, o anche scritti a mano) inservibili senza la banalissima regola per i terzi livelli - che non avevo considerato, stupidamente.

    Aggiungendo queste due righe al normale htaccess funziona tutto.

    RewriteEngine on

    [html]RewriteCond %{HTTP_HOST} ^sottodom.miosito.com$
    RewriteRule ^/(.*)$ http://www.miosito.com/sottodom/$1 [L,R=301]
    [/html]A futura memoria...

    :ciauz:

    Edit: per una memoria non ballerina. Questa regola va aggiunta all'htaccess che si trova nella root principale del dominio di II livello (non nel terzo!!).

    Nella root del sottodominio poi si potrà invece aggiungere l'htaccess del cms o dell'applicazione che si vuole installare.