Inserendo rewrite Engine in un file .htaccess per bloccare alcuni spider (e mostrare una determinata pagina) ricevo un Internal Server Error 500. Non dovrei visualizzare invece la pagina che ho indicato in RewriteRule?
Inserendo rewrite Engine in un file .htaccess per bloccare alcuni spider (e mostrare una determinata pagina) ricevo un Internal Server Error 500. Non dovrei visualizzare invece la pagina che ho indicato in RewriteRule?
se vado a vedere nei logs di errore di apache (sia in locale che in remoto), leggo:
Sun Dec 26 11:44:40 2004] [alert] [client 127.0.0.1] path/to/htaccess.txt: RewriteCond: bad flag delimiters
Avrò sbagliato la sintassi?
direi proprio di si
think simple think ringo
sto usando
in pratica se l'user agent è uno di quelli, venga restituita la pagina errore.htmcodice:RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^badagent1 [OR] RewriteCond %{HTTP_USER_AGENT} ^badagent2 RewriteRule ^.*$ /errore.htm [L]
la struttura del RewriteCond sembra corretta. immagino che badagent1 sia un nome fasullo...
ho trovato questo link, l'unica cosa che differisce è la regexp per il RewriteRule:
http://www.loganalyzer.net/log-analy...om-copier.html
think simple think ringo
sono nomi di prova: infatti per provare in locale sto usando l'user-agent di firefox
Ora prova a cambiare la rule come indicato nel link
anche in quel modo il browser restituisce errore 500 e nei log
"RewriteCond: bad flag delimiters" cioè come se fosse sbagliata non la regola ma la condizione tra le quadre.
Ho visto anche gli esempi.
impersonando vari useragent, vedo che anche altri siti riportano l'errore 500 quando accedi ad una loro pagina. In ogni caso la sintassi che ora uso e che sembra funzionare bene è quello che ho riportato tranne lo slash prima della pagina: sembra non piacergli.