我知道我可以编辑。htaccess手动访问并在其中添加一个RewriteCond语句,但我需要构建一个插件,通过使用WP rewrites以正确的方式执行此操作,然后将其推入。htaccess with flush\\u rewrite\\u rules()。这种情况下我需要重写。
WP是否有一些模糊的函数,让我将RewriteCond语句推送到中。htaccess?
我知道我可以编辑。htaccess手动访问并在其中添加一个RewriteCond语句,但我需要构建一个插件,通过使用WP rewrites以正确的方式执行此操作,然后将其推入。htaccess with flush\\u rewrite\\u rules()。这种情况下我需要重写。
WP是否有一些模糊的函数,让我将RewriteCond语句推送到中。htaccess?
简言之,是的。。。
add_rewrite_rule
规则不是针对index.php
然后,该规则被视为“外部”规则(即不由WordPress内部处理重写),而是写入.htaccess
文件一、 e.如果:add_rewrite_rule(\'^nutrition/([^/]*)/([^/]*)/?\',\'somethingelse.php?p=12&food=$1 &variety=$2\',\'top\');
使用而不是add_rewrite_rule(\'^nutrition/([^/]*)/([^/]*)/?\',\'index.php?p=12&food=$matches[1]&variety=$matches[2]\',\'top\');
然后,该规则被识别为非(内部)WordPress规则,并添加到。htaccess文件,而不是内部处理。Note 对于“外部”规则-您使用$1
而不是$matches[1]
;.htacess
文件已写入。有一个钩子可以过滤实际编写的内容。mod_rewrite_rules
function wpse50631_htaccess( $rules ){
//Append or preppend extra rules.
return $rules;
}
add_filter(\'mod_rewrite_rules\', \'wpse50631_htaccess\');
Thecodex 有这样一句话:mod_rewrite_rules()
是一个函数,它接受由rewrite\\u rules()生成的数组,并实际将其转换为.htaccess
文件此函数还有一个过滤器,mod_rewrite_rules
, 它将向函数传递要写入的所有规则的字符串.htaccess
, 包括<IfModule>
周围部分。(注意:您也可以看到使用rewrite\\u rules挂钩的插件,但这是不推荐的)。
我使用了一些由Roots framework. 偶尔它们会被抹掉:当然,如果我访问设置>永久链接,也会在看似随机的时间。我的htaccess是这样读的:<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\\.php$ - [L] RewriteRule ^css/(.*) /wp-content/themes/the-hit-centre/css/