• User

    Redirect 301 cambio URL con htaccess

    Ciao a tutti!!
    sto facendo dei cambiamenti tramite un Mod rewrite (su joomla) alla URL del mio sito.

    In pratica la vecchia URL è del tipo:

    hxxp://xxx.mio-sito.it/annunci-affitto/

    è stata modificata in:

    hxxp://xxx.mio-sito.it/affitto-casa/

    Il problema è che ho diciamo un 5000 pagine.... forse anche di +,
    ed i casi possibili delle pagine possono essere i seg.:

    hxxp://xxx.mio-sito.it/annunci-affitto/regione.html

    che dovrei reindirizzare a:

    hxxp://xxx.mio-sito.it/affitto-casa/regione.html

    poi,

    hxxp://xxx.mio-sito.it/annunci-affitto/regione/città.html

    che dovrei reindirizzare a:

    hxxp://xxx.mio-sito.it/affitto-casa/regione/città.html

    ed infine,

    hxxp://xxx.mio-sito.it/annunci-affitto/regione/città/titolo-annuncio-id.html

    che dovrei reindirizzare a:

    hxxp://xxx.mio-sito.it/affitto-casa/regione/città/titolo-annuncio-id.html

    In pratica io dovrei cambiare soltanto la stinga di URL /annunci-affitto/ in /affitto-casa/

    Ovviamente le pagine

    • regione.html
    • Città.html
    • titolo-annuncio-id.html

    e le cartelle

    • regione/
    • città/

    sono più di una (regione1.html, regione2.html, regione3.html ecc. e regione1/, regione2/, regione3/ ecc. ecc. ecc.)

    Sarei davvero grato a chiunque può aiutarmi ad impostare delle regole su htaccess....


  • Super User

    dovrebbe bastarti una cosa tipo

    RewriteEngine on
    RewriteRule ^annunci-affitto/(.+)$ affitto-casa/$1 [R=301]
    

  • User

    non va.....:bho::bho:
    ho fatto delle prova ma nn funziona, digitanto la vecchia url nn mi apre la nuova....:gtsad:

    questo è il mio .htaccess:

    
    DirectoryIndex index.php
    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR]
    RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$  
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule (.*) index.php
    
    

    in fondo ho aggiunto la stringa da te suggerita ma non va....:gtsad::gtsad:


  • User Newbie

    Ciao Mimmonet,
    ho avuto il tuo stesso problema con Joomla/Ads_manager/ArtioSef 😉 ed ho risolto nel modo seguente:

    • cerca il file di lingua di adsmanager, quindi component/com_adsmanager/lang/lang_italian.php
    • in fondo al file ci dovrebbero essere delle stringhe tipo le seguenti
      DEFINE("ADSMANAGER_SEF_ADS","affitto-appartamenti");
      ecc...
    • sostituisci la stringa "affitto-appartamenti" con quella che desideri.

    Ricordati che ogni volta che modifichi qualcosa devi innanzitutto sfoltire le url, ed inoltre cliccare sul pulsante clean cache in alto a destra del componente artiosef.;)

    PS: Una volta che modifichi questa impostazione tutte le pagine che avevano questa stringa nell'url ed erano indicizzate da google andranno perse e dovranno essere indicizzate le nuove...quindi io valuterei bene fino a che punto ti conviene fare questa modifica.


  • User

    PS: Una volta che modifichi questa impostazione tutte le pagine che avevano questa stringa nell'url ed erano indicizzate da google andranno perse e dovranno essere indicizzate le nuove...quindi io valuterei bene fino a che punto ti conviene fare questa modifica.
    :?:?:?

    Simi... grazie per la risposta ma appunto è proprio questo il problema....
    Ed è per questo che sto cercando di modificare le URL con il redirect 301 e nn facendo la modifica al file di lingua di adsmanager....

    Ma mi sa che è una Mission quasi Impossible...
    ❌x

    Cmq grazio lo stesso simi!!! :ciauz:


  • User Newbie

    Bene! allora abbiamo lo stesso problema ma il mio dato che non utilizzo joomla credo sia risolvibile.

    Mi spiego:
    le mie url erano del seguente formato

    cerca.php?dove=abruzzo&tipo=hotel&page=1

    e sono state riscritte nel seguente modo

    miosito.com/italia/1/abruzzo/hotel.html

    con la seguente regola nel file htaccess

    RewriteRule ^italia/([^/]+)/([^/]+)/([^/]+).html /cerca.php?dove=$2&tipo=$3&page=$1

    ora il mio problema è che attualmente funzionano correttamente sia le vecchie url che le nuove, quindi oltre alle url duplicate google troverà sempre le vecchie pagine.
    Non c'è un modo di scrivere sull'htaccess che con la stessa regola deve fare anche un redirect 301 della vecchia url alla nuova? Ci sto provando da giorni ma booo non funziona mai!!!:x
    Il mod rewrite e le espressioni regolari sono sempre stati i miei peggiori nemici😢!!!