- Home
- Categorie
- La Community Connect.gt
- News Ufficiali da Connect.gt
- Redirect 301 su htaccess per lo spazio a fine url
-
Redirect 301 su htaccess per lo spazio a fine url
Un blog mi linka sbagliando la url della mia pagina.
Fiduciosa e tranquilla vado sul mio .htaccess e inserisco la url sbagliata (ha uno spazio a fondo url) e la reindirizzo a quella giusta.Ma mi da errore 404.
Non capisco.
Ho scritto:redirect 301 /url-relativa.html%20 htp://sito.com/url-relativa.html
(Il problema è lo spazio)
Dove sbaglio?
-
Forse il problema è la mancanza del codice di escape.
Prova con:RewriteEngine on
RewriteCond %{HTTP_HOST} ^sito.com$
RewriteCond %{HTTP_HOST} ^www.sito.com$
RewriteRule ^url-relativa.html%20$ "http://www.sito.com/url-relativa.html/" [R=301,L]Valerio Notarfrancesco
-
Ah, grazie.
Ora provo e credo che dovrò ormai studiarmi anche la sintassi del file htaccess che ho sempre rifiutato di fare.
-
Mannaggia non funziona.
Che strano però, chissà da cosa dipende, forse da qualche impostazione del server magari in merito alla codifica del carattere. Boh, tiro ad indovinare.Ho letto in un articolo in inglese che il file htaccess is wooddo. In che senso? Che, a volte da risultati strani?
Ecco la citazione:
`` Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. '' -- Brian Moore
-
Non posso mettere in dubbio quanto scrive B.M. perché non lo conosco, ma ho sempre creduto nella scientificità del nostro lavoro ... poi ovvio che le cose strane succedono.
Tornando al tuo caso, già mi sembra strano che il browser non elimina lo spazio al fondo dell'url, ma esattamente quale parte del redirect non funziona? (la condizione, la regola, la riscrittura) Dai log sul server riesci a leggere qualcosa che ti possa aiutare?
Valerio Notarfrancesco
-
Vado a vedere i log, ma da errore 404 il browser e anche sul wmt di google stesso errore.
L'url dovrebbe essere : htp://dominio.com/relativa.htmlspazio (%20)
Ecco il log dell'errore:
File does not exist: /home/user/nomedominio.com/pagina.html
File does not exist: /home/user/nomedominio.com/missing.html
-
Visto che l'url chiamato è dominio.com/relativa.htmlspazio (%20) mentre nel log leggi
File does not exist: /home/user/nomedominio.com/pagina.html
potremmo dire che la prima parte della regola sta funzionando, intercetta l'url con lo spazio, ma non lo trasforma in un url corretto?Se è così dovrebbe essere sbagliata la parte di destra della rewriterule:
RewriteRule ^url-relativa.html%20$ "http://www.sito.com/url-relativa.html/" [R=301,L]Valerio Notarfrancesco
-
Firefox stesso non fa il redirect e da questo errore:
Not Found
The requested URL /pagina.html was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
-
L'errore dovrebbe essere qui "http://www.sito.com/url-relativa.html/";
magari ho indicato io un percorso sbagliato rispetto a quanto ti serve.
Oltre a questo, il file di log ti sta segnalando che manca la pgina per gli errori 404.Valerio Notarfrancesco
-
Ma non capisco che errore possa essere, l'url è giusta (anche col www).
Può dipendere qualcosa in riferimento all'url assoluto del file? O questione di tempo?
Comunque non fa nulla, non è una cosa importante almeno per ora.
-
Ho sbagliato Io, scusa. L'errore non è dove avevo indicato prima, ma sulla regola per intercettare l'url.
Per intercettare gli spazi si devono usare le espressioni regolari quindi se hai una pagina subito nella directory radice, ad esempio http://www.dominio.eu/pagina.html e qualcuno per errore ti fa un link con http://www.dominio.eu/pagina.html
nel file htaccess va scritta questa regola:RewriteEngine on
RewriteRule ^/pagina.html\s$ http://www.dominio.eu/pagina.html [R=301,L]
Questa volta mi sono accertato che funzionasse, RewriteRule vuole il pattern in ingresso come una stringa PCRE e lo spazio è \s oppure anche \040 non %20.Valerio Notarfrancesco
-
Non mi funziona ancora. Il redirect non viene fatto, praticamente. Rimane li.
-
RewriteEngine on
RewriteRule ^pagina.html\s$ http://www.dominio.eu/pagina.html [R=301,L]Valerio Notarfrancesco
-
Ok.
Missione compiuta.
Grazie.