例を挙げて説明しましょう...
ファイル:/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構成ファイルを使用します。これは上記のとおりです。
重要なのは、特定のディレクトリ(/var/www/example.com/public/wp-content/cache/minify/)に配置されている.htaccessルールは機能しますが、私のhttpd.confファイルの同じルールは機能しません。 t。理由はわかりません。ここで何が間違っているのでしょうか?
これが最善の方法かどうかはわかりませんが、機能します。基本的に、2番目の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>