- Home
- Categorie
- Digital Marketing
- Google Search Console e Altri Strumenti
- mistero e .htaccess
-
mistero e .htaccess
Salve,
ho un problema strano da un paio di giorni. Praticamente il mio sito funziona solo senza il WTG
Mi spiego meglio. Ho Prestashop come CMS che ti permette di impostare l'url del tuo dominio. Fino a 2 giorni fa il mio dominio era WTG.miosito.it/shop (uso WTG al posto di www poiche non premium)
Improvvisamente alcune funzioni del mio e-commerce hanno smesso di funzionare, per esempio non i clienti non riuscivano a loggarsi oppure quando aggiungevi dei prodotti al carrello questo si svuotava appena si schiacciava il tasto acquista.
Dopo essere impazzito ho scoperto che se impostavo l'url del mio dominio senza il WTG tutto funzionava regolarmente.
Bene. Almeno si riesce ad acquistare e loggarsi. Il mistero del funzionamento senza WTG non l'ho ancora capito, però adesso ho dovuto impostare un paio di reidirizzamenti con il file .htaccess in modo che chi digitasse w WTG.sito.it venisse reindirizzato a sito.it/shop
questo è lo script:[PHP]RewriteEngine onRewriteBase /RewriteCond %{HTTP_HOST} ^WTG.sito.it RewriteRule ^(.*)$ http:\sito.it/shop/$1 [L,R=301]
RewriteEngine onRewriteBase /RewriteCond %{HTTP_HOST} ^sito.it RewriteRule ^(.*)$ sito.it/shop/$1 [L,R=301][/PHP]
E' giusto?
Il problema più grave è che tutti i miei (pochissimi) link esterni su pagine che non siano la home vanno a finire sulla pagina non trovata 404. Le mie pagine indicizzate su google hanno tutte il WTG davanti e vanno a finire sulla pagina 404. Devo indicizzare tutte le pagine di nuovo senza WTG?
Su GWT adesso ho inserito sia il sito con WTG che quello senza WTG, ma sembrano 2 siti diversi. Quello con WTG ha un sacco di problemi, quello senza l'ho appena messo e non so dire nulla.
Come si uniscono i 2 siti in modo che google ne veda solo uno? (uso URL reiscritti)
Che cavolo è successo?
come si fa un reidirizzamento in modo che se si digita WTG.sito.it/shop/qualsiasicosa porti a sito.it/shop/qualsiasicosa?
Ringrazio tutti coloro che vorranno aiutarmi o almeno sostenermi!Francesco
-
Per fare il redirect di tutte le URL da www a non-WWW puoi fare come segue.
RewriteEngine On RewriteCond %{HTTP_HOST} !^domain\.com RewriteRule (.*) http://domain.com/$1 [R=301,L]
Non conosco prestashop, ma molto probabilmente hai qualche impostazione regolata sul non-WWW.
-
Grazie.
Per reidirizzare invece alla sottocartella "shop", sia se digitano www o se non lo digitano come si fa?
-
È la stessa cosa. Basta che aggiungi "shop" al redirect finale.
-
nella terza riga vero? Ma in un solo file .htaccess posso mettere tanti comandi di reidirizzamento? l'importante e che non vanno in conflitto, giusto? tipo se ho un link esterno che punta a una pagina che non esiste più posso creare un ulteriore comando che dice che chi scrive o clikka la pagina x del mio sito va a finire nella pagina y? E il file .htaccess si mette sempre nella root?
-
Sì puoi fare tutto.
Il file .htaccess può stare in qualsiasi cartella, ma ovviamente agisce solo per la cartella e sue sottocartelle.
-
Grazie Juanin. Mi dici anche dove testare i miei file .htaccess, oltre che direttamente sul sito?
Sai anche come dire a google che il sito con www e quello senza è la stessa cosa?
-
Se fai il redirect Google capisce.
In ogni caso puoi farlo da Webmaster Tool di Google.
-
Grazie mille Juanin.
Se scopro che è successo con prestashop lo posto in modo che altri utenti ne possano beneficiare
-
Ottima idea.
-
Ma se volessi reidirizzare ogni pagina che inizia con www alla sua omonima senza www?
Esiste una regola unica o devo fare 2000 reindirizzamenti?
-
È quella che ti ho scritto sopra.
-
[CODE]
RewriteEngine on
RewriteCond %{HTTP_HOST} !^cuccioliduomo\dotit
RewriteRule (.*) h t t p : / / cuccioliduomodotit/shop/$1 [R=301,L]RewriteEngine on
RewriteCond %{HTTP_HOST} ^cuccioliduomo\dotit
RewriteRule (.*) h t t p : / / cuccioliduomodotit/shop/$1 [R=301,L]
Questo è il mio file.Ho fatto un nuovo comando poichè non reidirizzava dal sito senza www a shop
-
Perché ha duplicato le regole e in una hai fatto l'esclusione?
Non serve rifare la RewriteRule 2 vote puoi fare una condizione nella stessa lista di regole.
-
perchè se scrivevo cuccioliduomo(dot)it non reidirizzava a cuccioliduomo(dot)it/shop.
Quale sarebbe l'esclusione?
come si uniscono i 2 comandi?
Non è che mi consigli un link che mi insegna un pò di rewrite di apache (magari in Italiano?)
-
Usando il "!" stai indicando di escludere. Significa "not".
Vedi se questo può aiutarti
http://www.andreapernici.com/come-fare-redirect-301-di-una-pagina-web/
oppure anche questo
http://www.regole-seo.com/url-rewrite-htaccess-nozioni-esempi