• User

    Rewrite della home

    Buongiorno a tutti,
    ho un problema di rewrite.
    ho un sito fatto con un cms (modx) che funziona egregiamente e che ha il rewrite abilitato per redirigere tutte le pagine al relativo alias.
    Tutto funziona egregiamente, l'unico problema ce l'ho con la home page che vorrei che sia del tipo NOMEDOMINIO/ e per le relative lingue NOMEDOMINIO/EN, NOMEDOMINIO/ES, ...
    Invece attualmente è così:
    NOMEDOMINIO/ALIAS, NOMEDOMINIO/EN/ALIAS, ...

    Purtroppo non posso specificare un alias nullo, per cui devo usare l'htaccess per reindirizzare NOMEDOMINIO/ALIAS a NOMEDOMINIO/
    ma se provo mi dice che la pagina non reindirizza in modo corretto...

    Ecco il mio htaccess:

    Friendly URLs

    RewriteEngine On
    RewriteBase /

    Fix Apache internal dummy connections from breaking [(site_url)] cache

    RewriteCond %{HTTP_USER_AGENT} ^.internal\ dummy\ connection.$
    RewriteRule .* - [F,L]

    Redirect from mydomain.com/rootname to mydomain.com/rootname/

    RewriteRule ^en$ en/ [R=301,L]
    RewriteRule ^fr$ fr/ [R=301,L]
    RewriteRule ^es$ es/ [R=301,L]

    The Friendly URLs part

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^es/(.)$ index.php?q=$1 [L,QSA]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^en/(.
    )$ index.php?q=$1 [L,QSA]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^fr/(.)$ index.php?q=$1 [L,QSA]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.
    )$ index.php?q=$1 [L,QSA]

    Grazie a tutti


  • User

    In particolare, perchè se inserisco nel htaccess

    RewriteRule ^index.php?q=1$ / [R=301,L]
    mi continua a reindirizzare a /alias.html quando digito nel browser www,miodominio,com ???


  • Super User

    Ciao fabryshock,
    a me funziona perfettamente. Il mod_rewrite è abilitato?


  • User

    si, funziona per tutte le pagine. per la home se metto la regola di reindirizzamento tipo questa:
    RewriteRule ^index.php?q=1$ / [R=301,L]
    mi và in conflitto con un altra regola dell'htcaccess e non riesce a risolvere la pagina... sembra che vada in loop.
    solo che non sono esperto di regular expression e non trovo il problema.

    Riporto nuovamente l'htaccess, magari qualcuno esperto mi può illuminare....

    Friendly url

    RewriteEngine On
    RewriteBase /

    Fix Apache internal **dummy connection from breaking [(site_url)] cache

    RewriteCond %{HTTP_USER_AGENT} ^.internal\ dummy\ connection.$
    RewriteRule .* - [F,L]

    Redirect from mydomain.com/rootname to mydomain.com/rootname/

    RewriteRule ^en$ en/ [R=301,L]
    RewriteRule ^fr$ fr/ [R=301,L]
    RewriteRule ^es$ es/ [R=301,L]

    The Friendly URLs part

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^es/(.)$ index.php?q=$1 [L,QSA]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^en/(.
    )$ index.php?q=$1 [L,QSA]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^fr/(.)$ index.php?q=$1 [L,QSA]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.
    )$ index.php?q=$1 [L,QSA]


  • Super User

    Se intendi la pagina /alias.html a me non va in loop