Как настроить автоматическое перенаправление с помощью кода 301 в WordPress, чтобы изменить адрес страницы с /%category%/%postname%.html на /%postname%.html?

Как настроить массовый редирект 301 с использованием шаблона URL "/%category%/%postname%.html" на новый шаблон URL "/%postname%.html" в Wordpress, не прибегая к использованию плагинов? Не удалось найти готового решения в поисковой системе Google.
  • 13 марта 2024 г. 19:59
Ответы на вопрос 2
Для настройки автоматического перенаправления с помощью кода 301 в WordPress, чтобы изменить адрес страницы с /%category%/%postname%.html на /%postname%.html, можно использовать код htaccess. Вот пример кода, который нужно добавить в файл .htaccess:

```
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^([^/]+)/([^/]+)\.html$ /$2.html [R=301,L]
</IfModule>
```

Этот код будет автоматически перенаправлять любой URL в формате /%category%/%postname%.html на новый URL /%postname%.html с использованием кода 301.

Для настройки массового редиректа 301 с использованием шаблона URL "/%category%/%postname%.html" на новый шаблон URL "/%postname%.html" в WordPress без использования плагинов, можно использовать функцию wp_redirect в файле functions.php. Вот пример кода, который нужно добавить в файл functions.php:

```php
function custom_redirects() {
    if ( is_single() ) {
        global $post;
        $category = get_the_category( $post->ID );
        $category_slug = $category[0]->slug;
        $post_slug = $post->post_name;
        
        wp_redirect( home_url( '/' . $post_slug . '.html' ), 301 );
        exit();
    }
}
add_action( 'template_redirect', 'custom_redirects' );
```

Этот код будет автоматически перенаправлять все посты из категории %category% на новый URL %postname% с использованием кода 301.

Не забудьте изменить параметры функций в соответствии с вашими требованиями. После внесения изменений в файл .htaccess или functions.php необходимо проверить работоспособность редиректов, очистить кэш и проверить страницы на работоспособность.
Через RewriteRule  в .htaccess если у тебя Апач. Подобный функционал есть и в nginx
Похожие вопросы