- Home
- Categorie
- Digital Marketing
- SEO
- redirect 301 + rewriterule = loop
-
redirect 301 + rewriterule = loop
Ciao a tutti, come al solito sono da voi a chiedere un consiglio per risolvere un problemaccio in cui sono incappato.
ho un URL di questo tipo:
**
sito.it/pagina.php**e vorrei cambiarlo in
w-w-w.sito.it/pagina-con-nuovo-slug-senza-estensione
quindi aggiungere il w-w-w e cambiare lo slug in modo da non avere l'estensione .php.
La pagina fisica che dovrebbe leggere sarebbe sempre page.php, ma voglio cambiare l'url e di conseguenza fare un redirect 301io ho fatto così:
RewriteEngine On RewriteCond %{HTTP_HOST} !^ w-w-w .sito.it$ RewriteRule ^(.*)$ h-t-t-p-:-/-/w-w-w.sito.it/$1 [R,L] RewriteRule ^pagina-con-nuovo-slug-senza-estensione$ page.php redirect 301 h-t-t-p-:-/-/w-w-w.sito.it/page.php h-t-t-p-://w-w-w.sito.it/pagina-con-nuovo-slug-senza-estensione
ovviamente mi funziona il discorso dell'aggiungere automaticamente il www alle pagine che non lo hanno, ma se vado su page.php non mi reindirizza a pagina-con-nuovo-slug-senza-estensione, qualche suggerimento?
thx thxPS ho dovuto inserire i trattini fra le lettere di http e www perchè non mi faceva postare.
-
Ciao cignoooo.
Prova a eliminare le ultime due righe in favore di queste:RewriteCond %{REQUEST_URI} ^/page\.php$ RewriteRule ^(.*)$ http://www.sito.it/pagina-con-nuovo-slug-senza-estensione? [R=301,L]
Facci sapere se ha funzionato.
Francesco
-
Niente Francesco, da 404.
ti posto il file reale qui sotto
RewriteEngine On RewriteCond %{HTTP_HOST} !^vvv.sito.com$ RewriteRule ^(.*)$ hiip://vvv.sito.com/$1 [R,L] #RewriteRule ^camera-deserto$ camera1.php #redirect 301 hiip://vvv.sito.com/camera1.php hiip://vvv.sito.com/camera-deserto RewriteCond %{REQUEST_URI} ^/camera1\.php$ RewriteRule ^(.*)$ hiip://vvv.sito.com/camera-deserto? [R=301,L]
Chiaramente hiip = http e vvv = www, non me lo faceva postare....
Come vedi ho commentato le due righe che mi avevi detto di cancellare ed ho inserito quelle tue, ma niente.
tanto per capirci ho la pagina camera1.php che vorrei diventasse semplicemente /camera-deserto
Se dovesse risultare impossibile mi sa che devierò verso questa soluzione:
redirect 301 da camera1.php a /camera-deserto
poi creo fisicamente una pagina camera-deserto.php e con rewrite rule dico di far leggere a /camera-deserto quella pagina.Può funzionare?
Grazie mille Francesco, sei sempre prezioso.
-
Faccio una prova e più tardi ti aggiorno.
Curiosità: da 404 anche con il w w w?
-
Ciao cignoooo.
In questo caso è sufficiente lasciare le istruzioni che ho già postato e rinominare camera1.php in camera-deserto.php (c'è il 301):RewriteCond %{REQUEST_URI} ^/camera1\.php$ RewriteRule ^(.*)$ http://www.sito.it/camera-deserto.php? [R=301,L]
Fammi sapere,
Francesco
-
alla fine ho risolto così:
RewriteEngine On #tutti con il www RewriteCond %{HTTP_HOST} !^w-w-w-.sito.com$ RewriteRule ^(.*)$ h-t-t-p-://w-w-w-.sito.com/$1 [R,L] #cambio url una per una RewriteCond %{REQUEST_URI} ^/camera1\.php$ RewriteRule ^(.*)$ h-t-t-p-://w-w-w-.sito.com/camera-deserto? [R=301,L] RewriteRule ^camera-deserto$ /camera-deserto.php
chiaramente ho rinominato camera1.php in camera-deserto.php come mi avevi suggerito tu.
volevo le url senza mostrare l'estensione dei file (.php).Grazie ancora mitico