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.

  • Come posso configurare Apache per redirect una sottodirectory a un repo di sovversione?
  • Come configurare Varnish per non eseguire la cache di una particolare cartella?
  • .htaccess per interrompere l'inondazione di DDoS POST
  • Come faccio a sapere se apache è in esecuzione come prefork o worker?
  • Permessi di file creati da Apache
  • Apache SSL Proxy non riesce a trovare il certificato client?
  • 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.

  • Non riesco a capire come abilitare mod_rewrite su ubuntu
  • Cosa è / var / empty e perché questa directory viene utilizzata da sshd?
  • Accesso SFTP Restricted con il nuovo utente Sud Roo
  • linux: i dati delle condutture su più macchine tramite ssh
  • Tunnel SSH per 3 luppoli e copia di file
  • Come posso creare un utente solo per sftp?
  • 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.