Я работаю с темой, где, похоже, ошибка 404 с правилом перезаписи. Правило выглядит следующим образом:wordpress url rewrite rules, производя 404 ошибка
products/([^/]+)/page/?([0-9]{1,})/?$
index.php?portfolio=$matches[1]&paged=$matches[2]
Первая страница выглядит и отображает нормально, но запрос URL для пагинации выглядит не так:
http://www.site.com/products/page/2
Где я полагаю, , из правила перезаписи это должно выглядеть так:
http://www.site.com/products/foo/page/2
Так что я решаю за foo
. Кажется, что это недостающий уровень/строка для ([^/]+)
, что я предполагаю, что это своего рода PCRE/preg_match, как указано here, о котором я очень мало знаю. Из того, что я могу сказать, это означает:
начало подшаблоны > определение класса начального символа > Assert начал субъект (или линии, в многострочном режиме) > Нет подсказку> конец символы определения класса > 1 или более квантификатором > конец подшаблон
ОБНОВЛЕНИЕ:
Это связано с темой не моего дизайна. Я использовал Rewrite Rules Inspector, чтобы найти правильное правило перезаписи.
Проблема связана с ссылкой на страницу с коротким знаком галереи. Штрих-код работает на главной странице сайта, но когда он вызывается на другой странице (например, страница/products), а затем вы пытаетесь получить доступ к следующей странице, вы получаете 404. Это работает, когда для постоянных ссылок установлено значение по умолчанию. Вот почему я решил, что проблема связана с правилом перезаписи.
РЕШЕНИЕ:
После рытья через плагин и пересматривают себя на переписывания поведения, я понял, что плагин не создает правила перезаписи для обработки пагинации на странице портфолио. Итак, я сделал один сам и реализовал его с mu-plugin
, а затем отправил по электронной почте автору плагина с выпуском.
add_action('init', 'addMyRules');
function addMyRules(){
add_rewrite_rule('(.+?)/page/?([0-9]{1,})/?$','index.php?pagename=$matches[1]&paged=$matches[2]','top');
}
Я думаю, вам нужно удалить последнюю косую черту 'products/([^ /] +)/page /? ([0-9] {1,}) /? $' To 'products/([^/] +)/page /? ([0-9] {1,})? $ ' – Shazzad
@Shazzad: У вас есть ссылка на это? – Plummer
Вы попробовали [flush_rewrite_rules()] (http://stackoverflow.com/questions/20525607/rewrited-url-for-page-just-points-to-index/20558327#20558327) ?? часто люди забывают его использовать [codex] (http://codex.wordpress.org/Function_Reference/flush_rewrite_rules) также - это сетевой сайт? –