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

  • Fai apache solo accessibile via 127.0.0.1, è questo ansible?
  • Come distriggersre SELinux per Apache httpd solo sulla mia Fedora 14?
  • Avvertenza quando si aggiungono più VirtualHosts sulla port 443 - "_default_ VirtualHost si sovrappone alla port 443, la prima ha la precedenza"
  • Posso eseguire Apache & Nginx sullo stesso server, sulla stessa port, ma legato a IP diversi?
  • Memoria in Apache basata sul cookie
  • Ho bisogno di tutti questi moduli Apache?
  • <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?

  • Qual è il vantaggio di non assegnare un terminal in ssh?
  • SSHing con l'utente nessuno
  • La richiesta di assegnazione PTY non è rioutput sul canale 0
  • mod_wsgi, .htaccess e rewriterule
  • Come si sfugge al "` "(accento grave / backtick) in un path?
  • Ssh_exchange_identification intermittente: connessione chiusa da host remoto
  • 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.