Autorizzazione di base Apache per un determinato URL

Ho un sito nella produzione che voglio modificare (traduci dal francese all'altro). La parte modificata verrà inserita nella posizione URL di domain.com/en e voglio proteggere solo questa parte con un'authentication HTTP di base durante le modifiche.

Vorrei avere lo stesso comportmento come se avessi una directory en sulla mia cartella radice web e un file .htaccess in questa directory per implementare l'authorization di base. Purtroppo, non posso farlo perché il sito viene eseguito su WordPress e utilizza regole di riscrittura, quindi non riesco a creare una directory en senza escludere WordPress.

Quali direttive devo mettere in .htaccess nella directory principale per consentire l'authorization di base solo per la posizione /en ? Ho provato a utilizzare il block <Location /en></Location> , ma produce un errore 500, quindi suppongo che questo block sia supportto solo nei file di configuration apache.

  • Autorizzazione di base IIS ala .htaccess / .htpasswd in apache
  • Automatizza l'implementazione della guerra nella substring privata di VPC su tomcat7
  • Snow Leopard si blocca quando si utilizza OpenLDAP su Linux per l'authentication
  • Come posso proteggere una directory IIS con solo accesso FTP?
  • Metodi di authentication / authorization di Linux
  • Posso impostare un metodo diverso di authentication su Nagios?
  • Formato chiave pubblica SSH
  • Autenticazione Kerberos proxy - Problemi con Ticket Service Kerberos
  • 2 Solutions collect form web for “Autorizzazione di base Apache per un determinato URL”

    Vedo … Il codice riportto di seguito disattiverà l'authorization solo nella directory callbacks, forse puoi modificare questa logica in modo che abilita l'authentication nella directory desiderata o distriggers l'authorization in tutti i diri il cui nome non corrisponde a quello desiderato proteggere.

     # set an environment variable "noauth" if the request starts with "/callbacks/" SetEnvIf Request_URI ^/callbacks/ noauth=1 # the auth block AuthName "Please login." AuthGroupFile /dev/null AuthType Basic AuthUserFile /xxx/.htpasswd #Here is where we allow/deny Order Deny,Allow Satisfy any Deny from all Require valid-user Allow from env=noauth 

    @Gregg_Leventhal mi ha dato la soluzione utilizzando le variables di ambiente. Ma la logica che uso è l'esatto inverso di quello usato nella sua risposta. Per completezza, ecco il codice per chiedere l'authentication solo per URL /en :

     #set an environtment variable "auth" if the request starts with "/en" SetEnvIf Request_URI ^/en auth=1 AuthName "Please login to access english part" AuthType Basic AuthUserFile "/path/to/my/.htpasswd" # first, allow everybody Order Allow,Deny Satisfy any Allow from all Require valid-user # then, deny only if required Deny from env=auth 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.