Как превратить это правило .htaccess в динамическое правило с помощью add_rewrite_rule, et al?

В .htaccess у меня есть следующее:

RewriteRule ^land/(.*) /?land=1&exper=$1 [QSA,L] 

который делает так: domain.com/land/exper1 заполнить $ _GET с помощью

$ _GET ['land'] = 1 и $ _GET ['exper'] = exper1

Отлично.

Я хочу извлечь это из .htaccess и добавить правило динамически, то есть искать другие значения querystring, такие как «океан», а не «земля». Я хочу, чтобы значения были заполнены в $ _GET или какой-либо другой var, где я могу их оценить. Я не могу понять, есть ли add_rewrite_rule, чтобы фактически перезаписать мой .htaccess, но все, что я пробовал, flush_rewrite_rules (true) и т. Д. Arent делает это.

Solutions Collecting From Web of "Как превратить это правило .htaccess в динамическое правило с помощью add_rewrite_rule, et al?"

Попробуйте это и следуйте той же структуре, чтобы добавить больше правил перезаписи или запросов:

 add_filter('query_vars', 'my_query_vars'); function my_query_vars( $vars) { $vars[] = "land"; $vars[] = "expert"; return $vars; } // Add the new rewrite rule to existings ones add_action('init','my_rewrite_rules'); function my_rewrite_rules() { add_rewrite_rule( 'land/(.+)/?$' , 'index.php?land=1&expert=$matches[1]' , 'top' ); } 

Не забудьте очистить правила перезаписи, перейдя в область администрирования-> Настройки-> permalinks-> нажмите save.