Questo è un problema che si verifica spesso quando vogliamo mettere un accesso riservato in una sotto directory. Capita che htacess di un blog Worpdress della home page e quello della sotto directory vadano in conflitto. Occorre quindi escludere da htaccess della Home Page di WordPress la sotto directorory.
Prima cosa da fare è ovviamente fare una copia di htaccess. Migliore cosa fare una copia anche del sito e database. Non mi è mai capitato un problema così grave , ma è meglio andare sicuri.
All’inizio vi troverete con un vostro htaccess simile a questo
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]# END WordPress
Per escludere la directory il codice che va inserito è il seguente
RewriteCond %{REQUEST_URI} !^/(FOLDER.*)$
Nel caso di una directory solamente. Nel caso che vogliate escludere più directory il codice è
RewriteCond %{REQUEST_URI} !^/(FOLDER-A|FOLDER-B|FOLDER-C)
La linea va inserita come prima regola nel seguente modo dentro htaccess di WordPress
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/(FOLDER-A|FOLDER-B|FOLDER-C)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]# END WordPress
Talune volte se avete a che fare con server esteri, come ad esempio americani vedi Hostgator, il vostro sito potrebbe essere messo in public_html. Chi conosce Linux sa benissimo di cosa parlo. In questo caso nessuna paura vi basterà inserire il seguente codice dentro htaccess
# BEGIN WordPress RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ./ /index.php [L] # END WordPress order allow,deny allow from all
dove potete vedere ./ / in quanto anche in realtà il vostro sito si trova in una sotto directory .