2016-06-23 2 views
0

I'am на самом деле имеющие странные проблемы Whith add_rewrite_rule():add_rewrite_rule() странное поведение

function qvs($vars){ 
$vars[]= 'myvar'; 
} 
add_action('query_vars, 'qvs'); 
function myrewrite(){ 
add_rewrite_rule('something/([0-9]+), 'index.php?pagename=something&myvar=$matches[1]'); 
} 
add_action('init', 'myrewrite'); 

это просто не писать правила в файле .htaccess

function myrewrite(){ 
add_rewrite_rule('something/([0-9]+),'something/?myvar=$matches[1]'); 
} 
add_action('init', 'myrewrite'); 

RewriteRule является написано:

RewriteRule something/([0-9]+) /a-wordpress-plugins-work/something/MyVar = $ соответствует [1] [QSA, L]

Но это не работает ... еще окончание моей 404 страницы

add_rewrite_rule('^something/([0-9]+), '/something/?myvar=$matches[1]'); 

печати странного правила, выглядит следующим образом:

RewriteRule ^^something/([\d]+) /a-wordpress-plugins-work//something/?myvar=$matches[1] [QSA,L] 

Конечно ни один из них не работают ...

Как только я использую 'index.php? ... функция не записывает ничего в файл .htacees.

.... EUARRGG !!!! Pleease heeellllp !!!!!

ответ

1

Правила перезаписи не сохраняются в файле Htaccess .. они хранятся в 1 поле в таблице параметров ..

Существует плагин: https://github.com/humanmade/hm-rewrite это очень легкая оболочка для перезаписи URL в WordPress, также не лучше организовано и логичнее, чем Wordpress. Я предлагаю вам попробовать.

Это не делает никакого магического материала и не добавлять новые таблицы или так .. только обертку :)

Для тестирования правила вы могли бы использовать: https://de-ch.wordpress.org/plugins/rewrite-rules-inspector/

Убедитесь, что вы вровень правила перезаписи после добавления новых. Вы можете слить их с помощью этого плагина или использовать функцию сборки, названную flush_rewrite_rules

+0

Да, rewrite_rule_inspector выбрал мои правила, где ok, но параметр «top» отсутствует. Спасибо, Барт! – jst

Смежные вопросы