Pagina 1 di 2

Aiuto per htaccess

Inviato: ven 9 gen 2009, 18:34
da ghisirds
Ciao ragazzi,
in un sito html devo inserire un file htaccess che mi crei un redirect 301 per ogni pagina che da errore 404 (pagina non trovata) verso la home page, senza però andare ad intaccare i singoli redirect 301 già presenti nel file htaccess e che riguardano altre sottopagine rinominate in passato.
Cosa devo scrivere nel file htaccess per fare ciò?
Grazie

Re: Aiuto per htaccess

Inviato: ven 9 gen 2009, 19:06
da raffaele181188
Leggi qua
http://designshack.co.uk/tutorials/cust ... error-page
Oppure qua se non funziona il link di sopra
http://www.nntp.it/comp-www-php/88734-p ... ovata.html

Offtopic: Ragazzi ma come si postano gli URL in questo sito senza farli uscire per intero che è moooolto inestetico???

Re: Aiuto per htaccess

Inviato: ven 9 gen 2009, 20:25
da ghisirds
eh, ma così non fa il 301... quindi non passa il pr, giusto?

Re: Aiuto per htaccess

Inviato: sab 10 gen 2009, 3:49
da _NYTRO_
Se proprio ti serve il redirect 301, puoi impostare sempre una "ErrorDocument 404" customizzata a tuo piacere, nella quale inserisci il redirect 301 che si attiva dopo un intervallo bassissimo.

E' un metodo poco pulito, però fa quello che vorresti tu..
Alle 03:50 è il primo metodo che mi è venuto in mente. :roll:

Se il problema è incentrato verso un'ottica SEO non saprei assicurarti la validità della mia soluzione.
Dipende cosa ti serve..

'notte.

Re: Aiuto per htaccess

Inviato: sab 10 gen 2009, 10:11
da conraid
Premesso che non mi sembra un ottima idea, anche in ottica SEO, in quanto dovresti spostare solo le pagine che esistevano precedentemente (anche se possono essere molte, lo so che è noioso), io farei una cosa simile

Codice: Seleziona tutto

<IfModule mod_rewrite.c>
RewriteEngine On
[regole precedenti]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*$ /html/prova/index.php2 [R=301,L]
</IfModule>
l'istruzione
RewriteCond %{REQUEST_FILENAME} !-f
dovrebbe evitare di reindirizzare pagine che esistono, e ricorda nelle regole precedenti di usare il FLAG "L", altrimenti non si ferma alla regola e scorre fino a trovare l'ultima

Fai qualche prova che non l'ho testata

Re: Aiuto per htaccess

Inviato: mar 27 gen 2009, 13:33
da ghisirds
scusa ma non riesco a capire.

poniamo che io ho già una cosa simile:

Codice: Seleziona tutto

Redirect 301 /pagina1.html http://www.sito.it/

Redirect 301 /pagina2.html http://www.sito.it/
come la applico la tua regola?
prima o dopo?
grazie

Re: Aiuto per htaccess

Inviato: mar 27 gen 2009, 14:19
da conraid

Codice: Seleziona tutto

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule /pagina1.html http://www.sito.it/ [R=301,L]
RewriteRule /pagina2.html http://www.sito.it [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*$ http://www.sito.it/ [R=301,L]
</IfModule>
prova una cosa simile

Re: Aiuto per htaccess

Inviato: mar 27 gen 2009, 14:24
da ghisirds
no...
Questa pagina non ridireziona in modo corretto













Firefox ha rilevato che il server sta ridirezionando la richiesta per questo indirizzo in modo che non possa mai essere completata.








* Questo problema spesso è causato dal blocco o dal rifiuto dei cookie.

Re: Aiuto per htaccess

Inviato: mar 27 gen 2009, 14:43
da conraid
Se metti solamente la parte che ti ho indicato prima?

Poi pensiamo ad inserire le vecchie regole

Re: Aiuto per htaccess

Inviato: mar 27 gen 2009, 15:00
da ghisirds
stesso errore...

Re: Aiuto per htaccess

Inviato: mar 27 gen 2009, 15:14
da conraid
Senti, ho provato e funziona

Non è che hai lasciato esattamente come ho messo io?

Codice: Seleziona tutto

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*$ /html/prova/index.php2 [R=301,L]
</IfModule>
Al posto di /html/prova/index.php2 devi mettere quel che vuoi tu, cioè dove vuoi fare il reindirizzamento

Re: Aiuto per htaccess

Inviato: mar 27 gen 2009, 15:38
da ghisirds
ecco, così sembra andare... però reindirizza tutte le pagine, anche quelle in cui avevo messo la regola (sia che la scriva sotto, sia che la metto all'interno come avevi fatto tu nell'esempio precedente...)
comunque, per il momento ti meriti un =D>

Re: Aiuto per htaccess

Inviato: mar 27 gen 2009, 16:16
da conraid
ho fatto una prova, ed a me così funziona

Codice: Seleziona tutto

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule echo.php /html/prova/echo.html [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*$ /html/prova/index.php2 [R=301,L]
</IfModule>
naturalmente anche in questo caso i nomi dei file ed i path vanno cambiati

echo.php me lo manda a echo.html
le pagine inesistenti a index2.php
le pagine esistenti non incluse nelle regole vengono visualizzate correttamente

Re: Aiuto per htaccess

Inviato: mar 27 gen 2009, 16:46
da ghisirds
si, funzia... funzia!!!
credo che il problema fosse che mettevo uno slash di troppo
grazie mille
ciao

Re: Aiuto per htaccess

Inviato: mar 27 gen 2009, 17:05
da ghisirds
guarda, io l'ho fatto così:

Codice: Seleziona tutto

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule catalogo-stereogrammi-7.html http://www.idee-regalo.biz/articoli-regalo.html [R=301,L]
RewriteRule mappa-del-sito.html http://www.idee-regalo.biz/cosa-regalare.html [R=301,L]
RewriteRule mappa-sito.html http://www.idee-regalo.biz/cosa-regalare.html [R=301,L]
RewriteRule sitemap.html http://www.idee-regalo.biz/cosa-regalare.html [R=301,L]
RewriteRule faq-sugli-stereogrammi-1.html http://www.idee-regalo.biz/faq1.html [R=301,L]
RewriteRule faq-pg1.html http://www.idee-regalo.biz/faq1.html [R=301,L]
RewriteRule faq-sugli-stereogrammi-2.html http://www.idee-regalo.biz/faq2.html [R=301,L]
RewriteRule faq-pg2.html http://www.idee-regalo.biz/faq2.html [R=301,L]
RewriteRule faq-sugli-stereogrammi-3.html http://www.idee-regalo.biz/faq3.html [R=301,L]
RewriteRule faq-pg3.html http://www.idee-regalo.biz/faq3.html [R=301,L]
RewriteRule faq-sugli-stereogrammi-4.html http://www.idee-regalo.biz/faq4.html [R=301,L]
RewriteRule faq-pg4.html http://www.idee-regalo.biz/faq4.html [R=301,L]
RewriteRule catalogo-stereogrammi-1.html http://www.idee-regalo.biz/idee-per-regalo.html [R=301,L]
RewriteRule catalogo-01.html http://www.idee-regalo.biz/idee-per-regalo.html [R=301,L]
RewriteRule metodi-di-pagamento.html http://www.idee-regalo.biz/metodi-pagamento.html [R=301,L]
RewriteRule catalogo-stereogrammi-13.html http://www.idee-regalo.biz/regali-bambini.html [R=301,L]
RewriteRule catalogo-stereogrammi-11.html http://www.idee-regalo.biz/regali-battesimo.html [R=301,L]
RewriteRule catalogo-stereogrammi-10.html http://www.idee-regalo.biz/regali-matrimonio.html [R=301,L]
RewriteRule catalogo-stereogrammi-12.html http://www.idee-regalo.biz/regali-natale.html [R=301,L]
RewriteRule catalogo-stereogrammi-4.html http://www.idee-regalo.biz/regalo-18-anni.html [R=301,L]
RewriteRule idee-regalo-18-anni.html http://www.idee-regalo.biz/regalo-18-anni.html [R=301,L]
RewriteRule catalogo-stereogrammi-9.html http://www.idee-regalo.biz/regalo-animali.html [R=301,L]
RewriteRule catalogo-stereogrammi-8.html http://www.idee-regalo.biz/regalo-anniversario.html [R=301,L]
RewriteRule regali-aziendali.htmlul http://www.idee-regalo.biz/regali-aziendali.html [R=301,L]
RewriteRule catalogo-stereogrammi-3.html http://www.idee-regalo.biz/regalo-compleanno.html [R=301,L]
RewriteRule catalogo-stereogrammi-3.html http://www.idee-regalo.biz/regalo-compleanno.html [R=301,L]
RewriteRule catalogo-stereogrammi-6.html http://www.idee-regalo.biz/regalo-donna.html [R=301,L]
RewriteRule catalogo-stereogrammi-2.html http://www.idee-regalo.biz/regalo-lui.html [R=301,L]
RewriteRule idee-regalo-per-lui.html http://www.idee-regalo.biz/regalo-lui.html [R=301,L]
RewriteRule regalo-per-lui.html http://www.idee-regalo.biz/regalo-lui.html [R=301,L]
RewriteRule catalogo-stereogrammi-5.html http://www.idee-regalo.biz/regalo-uomo.html [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*$ http://www.idee-regalo.biz/ [R=301,L]
</IfModule>
sembra funzionare tutto, ma quando chiami il sito direttamente dalla radice principale, http://www.idee-regalo.biz/ , si pianta tutto.
quando ci navighi all'interno invece va bene
hai idea del perchè?
ora l'ho tirato via però...