hsatterwhite
  • 0
Новичок

Как вызвать ошибку 404 для пользовательской переменной запроса?

  • 0

Как вы можете вызвать 404 при использовании пользовательских переменных запроса? У меня есть правила перезаписи, написанные для пользовательской переменной запроса, но если вы запросите URL-адрес для переменной запроса, которая технически должна быть 404, она вернет обычную страницу WP, но не контент, потому что технически ничего не существует для URL.

Share
  1. Специально для этого есть акция:

    function my_parse_query( $wp_query ) {
        if ( $wp_query->get( 'my_custom_var' ) > 42 ) {
            $wp_query->set_404();
            status_header( 404 );
        }
    }
    add_action( 'parse_query', 'my_parse_query' );
    

    Это должно загрузить шаблон 404.php в вашу тему, если он у вас есть. В противном случае он вернется к index.php.

    Это также вызовет код состояния HTTP 404.

    Для получения дополнительной информации см. parse_query.

    • 0
  2. Добавьте 404.php в свою тему и посмотрите, вызывается ли он.

    Образец 404.php

    <!doctype>
    <title>404</title>
    <p>404 – Mwah!</p>
    

    Что важнее: настоящие заголовки HTTP, здесь код состояния. Вы можете увидеть это с помощью инструментов разработчика вашего браузера в сети. Вот скриншот для http://wordpress.stackexchange.com/404 Opera Dragonfly:

    снимок экрана

    Посмотреть полноразмерное изображение

    Если вы по-прежнему получаете код состояния 200, просмотрите глобальные переменные $wp и файлы $wp_query . Они расскажут вам более подробно о выбранном ресурсе.

    • 0

Оставить ответ

You must login to add an answer.