Ошибки CakePhp (установите страницу 404)

Когда я иду в http://www.xxxy.com/wp-login.php без косой черты в конце у меня есть страница 404 не найдена.
Когда я добавляю косую черту (http://www.xxxy.com/wp-login.php/), веб-сайт появляется и полностью сломан.

В моем AppController у меня есть это:

public function beforeFilter() {
$this->_setErrorLayout();
parent::beforeFilter();
}

public function _setErrorLayout() {
if ($this->name == 'CakeError') {
$this->layout = 'error';
}
}

Вы знаете, что не так, когда у нас есть лишний слеш?

0

Решение

Посмотрите на источник HTML, вы используете относительные пути для всех ваших активов.

<link href="css/media.css" rel="stylesheet" type="text/css">
<img src="https://web-answers.ru/wp-content/uploads/2019/03/logo.png" alt=""/>

Добавление косой черты делает wp-login.php быть папкой, и, следовательно, css/media.css становится /wp-login.php/css/media.cssчто, конечно, не существует.

Вы должны использовать абсолютные пути, такие как /css/media.cssКоторый между прочим HTML-помощники CakePHP обычно генерируются автоматически при правильном использовании.

Смотрите также http://book.cakephp.org/2.0/en/core-libraries/helpers/html.html

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

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]