Aiuto per htaccess

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
ghisirds
Linux 0.x
Linux 0.x
Messaggi: 34
Iscritto il: mer 12 set 2007, 18:27
Contatta:

Aiuto per htaccess

Messaggio 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

Avatar utente
raffaele181188
Packager
Packager
Messaggi: 789
Iscritto il: ven 7 set 2007, 21:40
Nome Cognome: Raffaele
Slackware: current
Kernel: 2.6.29.6
Desktop: KDE 4.3
Distribuzione: Ubuntu
Località: DearSkin (FG)

Re: Aiuto per htaccess

Messaggio 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???

ghisirds
Linux 0.x
Linux 0.x
Messaggi: 34
Iscritto il: mer 12 set 2007, 18:27
Contatta:

Re: Aiuto per htaccess

Messaggio da ghisirds »

eh, ma così non fa il 301... quindi non passa il pr, giusto?

_NYTRO_
Linux 2.x
Linux 2.x
Messaggi: 419
Iscritto il: sab 8 mag 2004, 0:00

Re: Aiuto per htaccess

Messaggio 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.

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Aiuto per htaccess

Messaggio 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

ghisirds
Linux 0.x
Linux 0.x
Messaggi: 34
Iscritto il: mer 12 set 2007, 18:27
Contatta:

Re: Aiuto per htaccess

Messaggio 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

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Aiuto per htaccess

Messaggio 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

ghisirds
Linux 0.x
Linux 0.x
Messaggi: 34
Iscritto il: mer 12 set 2007, 18:27
Contatta:

Re: Aiuto per htaccess

Messaggio 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.

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Aiuto per htaccess

Messaggio da conraid »

Se metti solamente la parte che ti ho indicato prima?

Poi pensiamo ad inserire le vecchie regole

ghisirds
Linux 0.x
Linux 0.x
Messaggi: 34
Iscritto il: mer 12 set 2007, 18:27
Contatta:

Re: Aiuto per htaccess

Messaggio da ghisirds »

stesso errore...

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Aiuto per htaccess

Messaggio 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

ghisirds
Linux 0.x
Linux 0.x
Messaggi: 34
Iscritto il: mer 12 set 2007, 18:27
Contatta:

Re: Aiuto per htaccess

Messaggio 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>

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Aiuto per htaccess

Messaggio 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

ghisirds
Linux 0.x
Linux 0.x
Messaggi: 34
Iscritto il: mer 12 set 2007, 18:27
Contatta:

Re: Aiuto per htaccess

Messaggio da ghisirds »

si, funzia... funzia!!!
credo che il problema fosse che mettevo uno slash di troppo
grazie mille
ciao

ghisirds
Linux 0.x
Linux 0.x
Messaggi: 34
Iscritto il: mer 12 set 2007, 18:27
Contatta:

Re: Aiuto per htaccess

Messaggio 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ò...

Rispondi