/www/
では、.htaccess
ファイルがあります。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^([^.]*\.less)$ compilers/lessphp.php?file=$1 [R,QSA,L]
</ifModule>
このコードは、私がWordPressが置かれている/www/blog/
の.lessファイルを要求し、標準のかなりパーマリンクのmod_rewriteを含むそれ自身の.htaccess
ファイルを持つまで、うまくいきます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>
WordPressのmod_rewriteコードをルートに移動し、それを自分のmod_rewriteの前に置くと、すべて期待通りに動作します。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>
# END WordPress
# BEGIN LESSPHP
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^([^.]*\.less)$ compilers/lessphp.php?file=$1 [R,QSA,L]
</ifModule>
# END LESSPHP
ここでの厄介なのは、パーマリンクに関して行うWordPressの修正です。私は.htaccess
から/www/blog/
コードを切り取ってそれをルートに移動することを忘れないでください。
WordPressが上書きしないようにmod_rewriteを改良する方法はありますか。また、自然に配置されている場所にすべて残すことができますか?私はむしろ、ルートとワードプレスの後の両方に私のルールの2つのインスタンスを持つ必要はないでしょう。また、WordPressのmod_rewriteルールは、パーマリンク設定を更新するだけで上書きされるため、変更する必要があります。
手っ取り早い解決策は、.htaccess
ファイルのアクセス権を変更することです。したがって、Wordpressで設定を変更した場合は、.htaccess
に手動で変更する必要があることが表示されます。