私はワードプレスのに加えて書き換えルールを書き込もうとしています:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
すべてをメインページにリダイレクトしたくありません。リダイレクトする必要のあるサブディレクトリが複数あります: http: //www.example.com/sub1とhttp://www.example.com/sub2。私はこれを行っているので、コンテンツをAjax経由でロードできます。
これは単純に
RewriteRule ^/(sub1|sub2)/(.*)$ http://www.example.com/$1/ [L]
ここのブロックに配置したもの:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(sub1|sub2)/(.*)$ http://www.example.com/$1/ [L]
RewriteRule . /index.php [L]
</IfModule>
おそらくワードプレスでは、wp_rewrite_ruleを使用する必要がありますか?.htaccessファイルをいじって、ルールを機能させてから、関数に移動できると思いました。
どんな助けでもいただければ幸いです。
ありがとう。
更新:.htaccesファイルをwordpressのデフォルトに戻そうとしました...そしてこのコードを私の子テーマのfunctions.phpファイルに追加します:
function AJAX_rewrite_rule() {
add_rewrite_rule(
'^/(sub1|sub2)/(.*)$',
'http://www.example.com/$1',
'top' );
};
add_action( 'init', 'AJAX_rewrite_rule' );
すべての読み込みが遅くなるようですが、見つからないすべてのファイルは、サブディレクトリではなくメインページにリダイレクトされます。
UPDATE#2 add_rewrite_ruleは、wordpressによってすでに配置されている構造にルールを追加するだけなので、私は間違った方向に進んでいたと思います。これはすべて、URLを解釈し、それらをインデックスによって実行されるDBクエリの変数に変更することで機能します。
$wp_rewrite->non_wp_rulesを使用する必要があると確信しています。誰かがもっとアイデアを持っているなら、私に知らせてください。