Как я могу получить страницу Yii2 404 для отображения на живом сервере - PullRequest
0 голосов
/ 27 марта 2019

Я настроил страницу 404.php в папке просмотра моей установки Yii.Очень хорошо работает на локальном сервере, показывая верхний и нижний колонтитулы веб-сайта и настроенный контент на странице 404.php.

Однако, когда я загружаюсь на действующий сервер, страница 404.php не отображается, когда страницане найден, вместо этого отображается простая белая страница с сообщением - Sorry! This page does not exist.Как я могу это исправить?

Очевидно, представление / 404.php не используется.Содержание моего error.php ниже:

<?php

/* @var $this yii\web\View */
/* @var $name string */
/* @var $message string */
/* @var $exception Exception */

use yii\helpers\Html;

$this->title = $name;
?>
                <!----Section Title Starts---->
                <div class="article-title-wrapper uk-section uk-section-primary">
                    <div class="uk-container">

                        <div class="uk-width-5-6@l uk-margin-auto">

                            <div class="uk-flex uk-flex-center">
                                <div class="section-intro uk-width-1-1 uk-width-2-3@l uk-text-center" uk-scrollspy="target: > div; cls:uk-animation-fade; repeat: true">
                                    <div class="page-title">
                                        <h1 class="uk-article-title">Page Not Found</h1>
                                    </div>
                                </div>
                            </div>
                        </div>          
                    </div>
                </div>  
                <!----Section Title ends---->

                <!----Section Content Starts---->
                <div class="article-content uk-section uk-section-default uk-padding-remove-bottom">
                    <div class="uk-container">
                        <div class="left-indent">
                            <div class="uk-width-5-6@l uk-margin-auto">
                                <div class="uk-flex uk-flex-center">
                                    <div class="section-content uk-width-1-1">
                                        <article class="uk-article uk-margin-large-bottom uk-text-center">
                                            <p class="uk-text-large">Sorry, but the page you were trying to view does not exist.</p>
                                        </article>
                                    </div>
                                </div>

                                <hr class="double">                     
                            </div>
                        </div>                      
                    </div>
                </div>  
                <!----Section Content ends---->

Я проверил ответы, данные здесь , но это точно решает мою проблему.Я не изменил конфигурацию по умолчанию для отображения ошибки.Конфигурация по умолчанию в соответствии с Yii2 будет использовать - YOUR_APP / views / site / error.php для отображения ошибок.Это работает на моем локальном сервере, но не работает на живом сервере, что является моим вопросом.

ОБНОВЛЕНИЕ : У меня есть два интернет-соединения.Я переключил свое интернет-соединение, и я внезапно обнаружил, что страница 404 подходила нормально.Я переключился на другое соединение, и проблема вернулась.Я переключился назад и вперед, и стало ясно, что по неизвестной причине я могу получить правильную страницу 404 на одном интернет-соединении, пока оно не работает на другом.Это не кажется нормальным.

Затем я использовал VPN-подключение к Интернету, которое не приносит нужную страницу 404, и это тоже хорошо работало.Есть ли функция безопасности, запрещающая определенные типы соединений?

1 Ответ

0 голосов
/ 27 марта 2019

Вам необходимо установить следующее в web / index.php или для расширенного просмотра приложений: frontend / web / index.php

defined('YII_DEBUG') or define('YII_DEBUG', false);

ИЛИ

Вы можете выбросить пользовательскую ошибку с кодом состояния.Например,

throw new \yii\web\NotFoundHttpException(status code);
...