【发布时间】:2020-03-31 04:19:25
【问题描述】:
我想在 wordpress htacess 中添加以下额外规则和条件
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
所以在我的插件代码中我已经添加了
function write_authorization_conditions(){
global $wp_rewrite;
$wp_rewrite->add_rewrite_tag("RewriteCond","%{HTTP:Authorization} ^(.*)",null); //this fails
$wp_rewrite->add_rule("(.*) - [E=HTTP_AUTHORIZATION:%1]",null);
$wp_rewrite->wp_rewrite_rules();
$wp_rewrite->flush_rules();
flush_rewrite_rules();
}
add_action('admin_init','write_authorization_conditions');
以上只写RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1],不包括RewriteCond %{HTTP:Authorization} ^(.*)
我试过了
$wp_rewrite->add_external_rule("RewriteCond %{HTTP:Authorization} ^(.*)",null);
但这只会增加
RewriteRule ^RewriteCond %{HTTP:Authorization} ^(.*) / [QSA,L]
我如何使这项工作。最后我希望 .htaccess 文件有
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{HTTP:Authorization} ^(.*) //extra addition
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1] //extra addition
//others here
</IfModule>
# END WordPress
【问题讨论】:
-
您可以使用过滤器mod_rewrite_rules自定义规则
-
你有一个例子说明如何使用 mod_rewrite_rules 实现这一目标
标签: wordpress .htaccess mod-rewrite