Используйте mod_rewrite, чтобы удалить год и месяц из URL поста WordPress, сохраняя структуру постоянных ссылок года и месяца. - PullRequest
2 голосов
/ 11 января 2011

Я был по всему миру и вернулся с этим синтаксисом mod_rewrite, и мне трудно создать некоторые рабочие правила переписывания.

Сценарий:

Работая в Wordpress, я хочу удалить "год / месяц" из структуры URL, сохраняя при этом активную пользовательскую постоянную ссылку года / месяца.Причина в том, что я использую плагин, который генерирует специфичный для категории архив, но плагин зависит от структуры постоянной ссылки:

/%cateogry%/%year%/%monthnum%/%postname%

Цель:

Я хочу изменить этот путь:category/2010/12/post-name

по этому пути: category/post-name

Условие:

Если в URL-адресе указан год / месяц, и за ним следуеткосой чертой (/) с символами после косой черты (например, category/2010/12/post-name) {

Remove the year/month from the url;

// intended output: category/post-name

// in this case I am directly clicking on a link.

} else {

//leave it alone; 
//intended output: category/2010/12/


/*=======
In this case I am already in the archive section and will want the 
plugin to display the archive according to the year & category

=======*/

}

У меня есть это правило, записанное в файле .htaccess

RewriteRule ^category/[0-9]{4}/[0-9]{2}/$         news/$1 [L, NC]

Может кто-нибудь помочь, пожалуйста (если вы можете, объясните некоторые вещи, которые вы делаете, чтобы я мог с ним подробнее ознакомиться)?

Ответы [ 2 ]

2 голосов
/ 12 января 2011

Ваш вопрос немного сбивает с толку, но позвольте мне понять, понимаю ли я.

Вы хотите изменить:

http://somehost.com/category/2011/11/some-post

до:

<webroot>/category/some-post

Если это так, вы почти у цели. При перезаписи у вас есть обратная ссылка ($ 1), но эта обратная ссылка не определена нигде в шаблоне поиска. Чтобы определить обратную ссылку, вы окружаете часть круглыми скобками. Обновление вашего правила будет выглядеть так (также с учетом переменной категории):

RewriteRule ^(.*)/[0-9]{4}/[0-9]{2}/(.*)$ $1/$2 [L,NC]
0 голосов
/ 13 января 2011

Перейти к Admin - Настройки - Постоянные ссылки

Выберите пользовательскую структуру и используйте

/%postname%/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...