Расширенный поставщик URL и страница ошибки 404

Я активировал Advanced Url Provider и страницу ошибки 404 в DNN 7.4.2. Работает до сих пор.

Но: я удалил страницу (тоже из корзины) третьего уровня, допустим URL был http://www.example.org/Level1/Level2/deletedPage. Когда я сейчас ввожу этот URL-адрес, я ожидаю, что отобразится страница с ошибкой 404 (как при вводе http://www.example.org/xxx/yyy/zzz) - но нет, родительская страница отображается (http://www.example.org/Level1/Level2), с URL-адрес удаленной страницы, и в файле журнала IIS я нахожу статус ответа http 200.

Есть идеи?

Счастливого ДНинга! Майкл


person Michael Tobisch    schedule 05.01.2017    source источник
comment
Попробуйте удалить кеш браузера!   -  person Mehdi Dehghani    schedule 10.01.2017


Ответы (2)


Я думаю, что когда вы удаляете страницу, пользовательские URL-адреса для этой страницы будут удалены, но проверьте таблицу TabUrls, чтобы увидеть, есть ли там запись для /Level1/Level2/deletedPage.

person DotNetNuclear    schedule 06.01.2017
comment
В TabUrls ничего нет - это я уже проверил. На самом деле я добавил этот URL-адрес в TabUrls с ответом 404. Поведение не изменилось... - person Michael Tobisch; 07.01.2017

Ответ прост. DNN принимает остальную часть URL-адреса в качестве параметров строки запроса, которые могут использоваться модулем, и страница не «знает», нужно это или нет.

В этом примере: Поскольку ни одна страница не доступна в разделе

http://www.example.org/Level1/Level2/deletedPage

но страница там под

http://www.example.org/Level1/Level2

может случиться так, что модуль нуждается или реагирует на строку запроса

?deletedPage

который отображается как

http://www.example.org/Level1/Level2/deletedPage

поставщиком URL. Поэтому поведение правильное. Объяснение можно найти здесь, глава «Страницы DNN и ошибки 404» в конце страницы 1 и в начале страницы 2.

person Michael Tobisch    schedule 11.04.2019