2014-02-10 1 views
0

Так вот проблема: нам не нравится тот факт, что WordPress не позволяет дубликаты слизней, даже для подкатегорий означает, что мы не можем иметь URLs как:Могу ли я изменить свой .htaccess, чтобы написать URL-адрес WorldPress (пользовательские перезаписи)?

product-1/guides 
product-1/articles 
product-2/guides 
product-2/articles 

Это очень раздражает! Одним из решений мы рассматриваем в настройке наших слизней, как это:

product-1/product-1-guides 
product-1/product-1-articles 
product-2/product-2-guides 
product-2/product-2-articles 

Но в нашем HTAccess - мы можем использовать его, чтобы подобрать такие URLs и переписать их красивее URL-адреса, которые имеют название продукта удаляется из подпапки ? Мы не против жесткого кодирования, поскольку у нас будет только 5-10 продуктов на сайте.

Это будет поддерживать WordPress довольными уникальными слизнями, но SEO-тик в коробке с лучшими поисковыми запросами.

Мне просто нужна рука с синтаксисом, пожалуйста?

EDIT 1:

Посмотрев на WordPress Перепишите API, я не в состоянии получить в любом месте с тем, что я думаю, что это очень простой тест. У меня есть следующий код в моих functions.php, который работает, когда я тестировал эхо, но переписывание не происходит?

add_action('init', 'productRewrites'); 

function productRewrites() { 
    add_rewrite_rule('^wordpress/james?','index.php?author_name=jwilson','top'); 
} 

Ничего не происходит, когда я ударил:

mysite.com/wordpress/james

Edit 2:

Круто Я понимаю, что теперь я должен нажать сохранить каждый раз. Проблема теперь у меня есть следующий не работает не тогда, когда я использую $ матчей [1] - это работает только тогда, когда я жесткий код значения AUTHOR_NAME и (в jwilson, например):

function productRewrites() { 

    add_rewrite_rule( 
     "writer/([^/]+)/?", 
     "index.php?author_name=$matches[1]", 
     "top"); 
} 

Когда я использую $ матчи [1] он просто возвращает все! Настолько ясно не использует ([^ /] +) в url ?!

+0

почему бы вам не использовать HTTP: // codex.wordpress.org/Rewrite_API? – pwolaq

+0

См. Редактировать 1, пожалуйста, если вы не возражаете. –

ответ

0

вы должны сбросить структурировать постоянную ссылку

для того, чтобы сделать это, перейдите к Настройки ->Permalinks и нажмите Сохранить изменения кнопку

+0

Редактировать 2, пожалуйста :) –

+0

В одном тексте ([^ /] +) в моем примере не переносится в $ matches [1]. Если мне сложно что-то сделать вместо $ matches [1], я получаю желаемый эффект. Но мне нужно, чтобы он использовал все, что находится в этой последней части URL-адреса ... –

+0

Далее - должно быть эхо «matches =». $ matches [1] обнаруживают что-то после функции add_rewrite_rule()? Как это пусто. –