私は、スクリプトが現在の.htaccess
に新しい規則を追加することを望み、ユーザーはそれをftpしたり手動で編集する必要がないようにします。
例えば、私はテーマのimageのサイズを変更するためにtimthumbを使い、URLを書き換えたいと思います、そして現在の.htaccess
はこのようなものになるでしょう。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^images/thumb/(.*) timthumb.php?filename=$1
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
質問
テーマオプションの.htacces
に新しいルールを追加する方法。
TimthumbのMod書き換えを有効にしますか? : [はい・いいえ]
[はい]をクリックするとRewriteRule ^images/thumb/(.*) timthumb.php?filename=$1
が自動的に現在の.htaccess
に追加されます
お知らせ下さい
^index\.php$
クラス、より具体的にはadd_external_rule()
メソッドを介してWP_Rewrite
行の直後に追加のルールを追加できます。それらはnon_rewrite_rules
配列 これはmod_rewrite_rules()
メソッドで書かれています に追加されます。
これはとても簡単な例です。プラグインのアクティベーション時、またはパーマリンクページにアクセスして、書き換えルールを(一度)フラッシュする必要があります。
add_action( 'init', 'wpse9966_init' );
function wpse9966_init()
{
global $wp_rewrite;
// The pattern is prefixed with '^'
// The substitution is prefixed with the "home root", at least a '/'
$wp_rewrite->add_external_rule( 'images/thumb/(.*)$', 'timthumb.php?filename=$1' );
}