Vai a: [ Contenuti ] [ Categorie ] [ Cerca ]

Cartella wp-admin, file .htaccess ed errore 404

Cartella wp-admin, file .htaccess ed errore 404


Ultima novità in casa Wordpress, almeno nel ramo 2.8: se il vostro blog è installato nella root del server e provate a proteggere la cartella wp-admin con un file .htaccess, l’amministrazione non sarà più raggiungibile. Riceverete un errore 404 (pagina non trovata).

Dopo aver penato un po’ di tempo sono riuscito a venirne a capo.

Di base Wordpress utilizza regole di rewrite interne (ossia quelle schiantate nel database). Queste stesse regole non tengono in considerazione eventuali .htaccess inseriti in cartelle diverse dalla root del sito.

Per risolvere è necessario che il file .htaccess primario (quello utilizzato da Wordpress appunto) abbia anche le seguenti direttive:

1
2
3
ErrorDocument 400 /cartella/pagina-errore.htm
ErrorDocument 401 /cartella/pagina-errore.htm
ErrorDocument 404 /cartella/pagina-errore.htm

Il file pagina-errore.html, ovviamente, deve esistere sul server.

Se proprio vogliamo essere precisi, anche se è non fondamentale, possiamo aggiungere altri codici di errore personalizzati:

1
2
3
ErrorDocument 402 /cartella/pagina-errore.htm
ErrorDocument 403 /cartella/pagina-errore.htm
ErrorDocument 500 /cartella/pagina-errore.htm

Quindi avremo un file .htaccess simile a questo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
ErrorDocument 400 /cartella/pagina-errore.htm
ErrorDocument 401 /cartella/pagina-errore.htm
ErrorDocument 402 /cartella/pagina-errore.htm
ErrorDocument 403 /cartella/pagina-errore.htm
ErrorDocument 404 /cartella/pagina-errore.htm
ErrorDocument 500 /cartella/pagina-errore.htm
 
# BEGIN WORDPRESS
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Fatto questo possiamo creare la classica accoppiata .htaccess/.htpasswd da inserire nella cartella wp-admin per aggiungere un ulteriore livello di sicurezza.

Da notare un particolare: in alcune situazioni, quando ad esempio un utente non ha inserito la propria email nel form dei commenti, la pagina pubblica di Wordpress richiama un file .css presente nell’amministrazione. Per evitare che agli utenti venga mostrata la maschera di accesso riservato possiamo creare l’.htaccess in wp-admin in questa maniera:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
AuthType Basic
AuthName "Accesso riservato"
AuthUserFile /path/to/.htpasswd
AuthGroupFile /dev/null
Order allow,deny
Satisfy any
 
<limit GET POST>
require valid-user
</limit>
 
<FilesMatch "\.(css|js|gif|png)$">
Allow from All
</FilesMatch>

Con queste righe di codice, in pratica, blocchiamo tutti i file tranne quelli con estensione .css, .js, .gif e .png (per i quali non verrà richiesta autenticazione).

link sponsorizzati

Consiglialo su Facebook

Scrivi un commento

Commenti totali: 1


  1. Grande Lorenzone!

Lascia un Commento

Iscriviti alle discussione senza commentare

Torna: [ Inizio ] [ Contenuti ] [ Categorie ] [ Cerca ]

Pagina renderizzata in soli 0,704 secondi dopo aver eseguito ben 81 query. Wordpress... prestazioni da urlo!