• Решено kword

    (@kw56)


    Как можно отменить редирект с урлов без слэша на урлы со слэшем?
    Мне надо заменить 301 редирект на 404.
    Буду признательна за помощь

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Автор kword

    (@kw56)

    Так?

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !(/$|\.|wp-json)
    RewriteCond %{QUERY_STRING} ^$
    RewriteRule . /404.php [L]
    </IfModule>
    Автор kword

    (@kw56)

    Найдено рабочее решение.
    Делюсь:

    add_filter( 'redirect_canonical', function( $redirect_url ) {
        $url = 'http'.((isset($_SERVER['HTTPS'])&&$_SERVER['HTTPS']!=='off')?'s':'').'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
        if( $redirect_url !== $url ) {
            global $wp_query;
            $wp_query->set_404();
            status_header( 404 );
            nocache_headers();
        }
        return false; 
    });
Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Запретить редирект со слэшем на конце» закрыта для новых ответов.