Перенаправление архивов настраиваемых сообщений

У меня был пользовательский тип сообщения с slug as ( sometext ), который я изменил на ( someothertext ). И он отлично работает

Так, например:

мои сообщения с URL-адресами

http://localhost/sometext/innerposts 

перенаправляется на

 http://localhost/someothertext/innerposts 

но не моя страница архива

в основном я хотел бы перенаправить

 http://localhost/sometext/ to http://localhost/someothertext/ 

в моем файле .htaccess я попытался добавить строку, чтобы заставить ее работать

 RewriteRule ^/sometext$ ^/someothertext/$ [R=301,L] 

но он терпит неудачу.

Я очень плохой .htaccess переписывает. Я буду очень признателен, если кто-то поможет мне в этом.

Благодарю.

Ссылка на страницу архива сохраняется в правилах перезаписи WordPress. Эти правила используются для поиска нескольких местоположений на передней панели системы WordPress. Когда вы изменяете slug пользовательского типа отправки, обычные страницы будут перенаправляться непосредственно в новое место, но страница архива не будет, это связано с тем, что правила перезаписи не восстанавливаются.

Чтобы решить эту проблему, перейдите в « Настройки» – « Постоянная ссылка» и сохраните структуру постоянной ссылки, перезагрузите страницу и загрузите страницу архива.

Правило перезаписи в вашем .htaccess не понадобится.

Кроме того, никогда не ставьте правила перезаписи в ваш .htaccess кроме тех, которые WordPress записывает в него. Если вы хотите добавить некоторые правила, сделайте это, используя API Rewrite .

Как уже упоминалось. Никогда не ставьте правила перезаписи в свой .htaccess, вместо этого используйте Rewrite API . Чтобы достичь своей цели, используйте следующий код в вашем файле functions.php или для конкретного сайта:

 add_action( 'generate_rewrite_rules', 'my_rewrite_rules' ); function my_rewrite_rules( $wp_rewrite ) { $wp_rewrite->rules = array( 'sometext/(.+?)/?$' => $wp_rewrite->index . '?someothertext='.$wp_rewrite->preg_index( 1 ), 'sometext/(.+?)/([0-9]{1,})/?$' => $wp_rewrite->index . '?someothertext='.$wp_rewrite->preg_index( 1 ). '&paged=' . $wp_rewrite->preg_index( 2 ), ) + $wp_rewrite->rules; }