Поясню на примере ...
Файл: /var/www/example.com/public/wp-content/cache/minify/.htaccess
<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>
Файл: /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>
Для повышения производительности я хочу отключить использование .htaccess на моем сервере и вместо этого использовать файл конфигурации httpd.conf, как вы видите выше.
Дело в том, что правило .htaccess, помещенное в конкретный каталог (/var/www/example.com/public/wp-content/cache/minify/), работает, но то же правило в моем файле httpd.conf не работает. т. Я не знаю почему. Что я здесь делаю не так?
Не уверен, что это лучший способ сделать это, но он работает. По сути, ему нужна RewriteEngine On
правило во втором <Directory>
раздел тоже.
Файл: /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>