La regola RewriteBase funziona in .htacess, ma non in httpd.conf (dentro <Directory …>)?

Fammi spiegare con l'esempio …

File: /var/www/example.com/public/wp-content/cache/minify/.htaccess

  • Apache mod_rewrite non funziona correttamente su Mac OS X 10.6 (Snow Leopard)
  • È ansible eseguire mod_rewrite Condizioni / Regole in ordine random?
  • Consenti WordPress per l'aggiornamento su Apache2 locale Installa
  • Passaggio della variabile Apache nella direttiva SetHandler
  • Come posso abilitare mod_rewrite in apache su Ubuntu?
  • HAProxy reqrep rimuove l'URI sulla richiesta di backend
  • <IfModule mod_rewrite.c> # THIS WORKS... RewriteBase /wp-content/cache/minify/ RewriteRule /w3tc_rewrite_test$ ../../plugins/w3-total-cache/pub/minify.php?w3tc_rewrite_test=1 [L] RewriteCond %{REQUEST_FILENAME}%{ENV:APPEND_EXT} -f RewriteRule (.*) $1%{ENV:APPEND_EXT} [L] RewriteRule ^(.+/[X]+\.css)$ ../../plugins/w3-total-cache/pub/minify.php?test_file=$1 [L] RewriteRule ^(.+\.(css|js))$ ../../plugins/w3-total-cache/pub/minify.php?file=$1 [L] </IfModule> 

    File: /etc/apache2/httpd.conf

     <Directory /var/www/example.com/public> AllowOverride None Options -MultiViews [...] <IfModule mod_rewrite.c> Options +FollowSymlinks # Options +SymLinksIfOwnerMatch RewriteEngine On # RewriteBase / </IfModule> [...] <IfModule mod_rewrite.c> # BUT THIS ISN'T WORKING!!! RewriteBase /wp-content/cache/minify/ RewriteRule /w3tc_rewrite_test$ ../../plugins/w3-total-cache/pub/minify.php?w3tc_rewrite_test=1 [L] RewriteCond %{REQUEST_FILENAME}%{ENV:APPEND_EXT} -f RewriteRule (.*) $1%{ENV:APPEND_EXT} [L] RewriteRule ^(.+/[X]+\.css)$ ../../plugins/w3-total-cache/pub/minify.php?test_file=$1 [L] RewriteRule ^(.+\.(css|js))$ ../../plugins/w3-total-cache/pub/minify.php?file=$1 [L] </IfModule> [...] </Directory> 

    Per le performance, voglio disabilitare l'uso di .htaccess sul mio server e utilizzare invece il file di configuration httpd.conf, che è quello che puoi vedere sopra.

    La cosa è che la regola .htaccess che si trova nella directory specifica (/var/www/example.com/public/wp-content/cache/minify/) funziona, ma la stessa regola nel mio file httpd.conf doesn ' t. Non so perché. Cosa potrei fare qui?

  • Imansible connettersi a un'istanza ec2
  • ForwardAgent in Jenkins
  • sshd_config aggiungendo un ritardo tra i tentativi di accesso?
  • Autenticazione chiave SSH che utilizza LDAP
  • TCP / IPv6 attraverso il tunnel ssh
  • Autenticazione a due fattori - SSH con chiavi e password account locale
  • One Solution collect form web for “La regola RewriteBase funziona in .htacess, ma non in httpd.conf (dentro <Directory …>)?”

    Non so se questo è il modo migliore per farlo, ma funziona. In sostanza, ha bisogno della regola RewriteEngine On nella seconda sezione <Directory> .

    File: /etc/apache2/httpd.conf

     <Directory /var/www/example.com/public> AllowOverride None Options -MultiViews [...] <IfModule mod_rewrite.c> Options +FollowSymlinks # Options +SymLinksIfOwnerMatch RewriteEngine On # RewriteBase / </IfModule> [...] </Directory> <Directory /var/www/example.com/public/wp-content/cache/minify> <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /wp-content/cache/minify/ RewriteRule /w3tc_rewrite_test$ ../../plugins/w3-total-cache/pub/minify.php?w3tc_rewrite_test=1 [L] RewriteCond %{REQUEST_FILENAME}%{ENV:APPEND_EXT} -f RewriteRule (.*) $1%{ENV:APPEND_EXT} [L] RewriteRule ^(.+/[X]+\.css)$ ../../plugins/w3-total-cache/pub/minify.php?test_file=$1 [L] RewriteRule ^(.+\.(css|js))$ ../../plugins/w3-total-cache/pub/minify.php?file=$1 [L] </IfModule> </Directory> 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.