2013-12-17 2 views
1

Я создал новые правила перезаписи в wordpress, и сначала он работает правильно, и через некоторое время (несколько часов) он перестает работать, когда я пробовал URL-адрес, он показывает 404 страницы. Вопрос в том, проверяю ли правила перезаписи в init действие $wp_rewrite->wp_rewrite_rules();, это вызовет проблему с производительностью?проверьте, существует ли правило перезаписи

Спасибо!

+0

Что значит несколько часов? –

+0

Я имею в виду, что сначала это новое правило перезаписи хорошо работает, я могу использовать это новое правило для поиска сообщения, но через несколько часов (например, 10 часов) тот же URL-адрес больше не работает. – aserww106

ответ

1

Правила перезаписи Wordpress трудно отлаживать, если вы просто просматриваете правило, которое, по вашему мнению, неверно. Причина в том, что он использует регулярное выражение, а не жестко закодированные правила.

Мое предложение - установить плагин [rewrite-rules-inspector], а затем запустить URL-адрес в интерфейсе плагина. Это даст лучшую идею, из-за которой эта проблема вызывает проблему.

Затем вы можете исправить это add_filter('rewrite_rules_array', ...), удалив старые правила или добавив новые правила поверх массива правил; Помните, что верхнее правило перезаписывает нижние правила.

+0

Спасибо @Zac, очень полезная информация – aserww106

2

Дополнительная информация необходима,

но попробовать flush_rewrite_rules. что особенно важно при работе с CPT.

Странно, однако, что вы видите изменения только через несколько часов. Это должно быть незамедлительно.

+0

Да, как только новое правило перезаписи не работает, я делаю 'flush_rewrite_rules()', и он немедленно сработает. – aserww106

+0

Пожалуйста, не помещайте [flush_rewrite_rules] в свой код постоянно, это вызывает много серверов ресурс. Вы можете запустить один раз, затем удалить его или установить плагин [rewrite-rules-inspector], чтобы сбросить правила, когда вам это нужно. – Zac

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