Не может изменить домашнюю страницу по умолчанию с 4D
Я пытаюсь следовать этому уроку, чтобы начать с 4d сервера веб. http://doc.4d.com/4Dv16/4D/16/Serveur-Web.200-3246839.fe.html
я отключил домашнюю страницу по умолчанию index.html (и даже удалил сам файл в папке WebFolder), а затем добавил эти несколько строк в метод подключения через Интернет
C_TEXT($1)
Case of
:($1="/")
WEB SEND FILE("new_index.html")
End case
но все же я получаю страницу 4d по умолчанию, когда перехожу на localhost:8080/, а затем узнаю, что метод даже не вызывается, если я не добавлю что-то в URL (например, localhost:8080/ что-то)
1 ответ
Если у вас есть index.html, указанный в настройках базы данных в качестве домашней страницы по умолчанию, он загрузит эту страницу (а иногда и создаст ее, если она не существует).
Кроме того, использование расширения html не приведет к запуску динамического кода; для вызова кода необходимо либо использовать расширение s html, либо файл не должен существовать (OWA/OWC запускается, когда файл не найден).
Этот технический совет по-прежнему применяется и дает краткое изложение того, в каких ситуациях используются методы "Веб-соединение" (и "Веб-аутентификация"):
Технический совет: как пропустить HTTP и перенаправить на HTTPS: часть 2 (папка веб-приманки)
Цитата:
Метод базы данных On Web Authentication (по умолчанию) вызывается только в следующих ситуациях:
- когда 4D получает URL, начинающийся с 4DACTION/
- когда 4D получает URL, начинающийся с 4DMETHOD/
- когда 4D получает URL, начинающийся с 4DCGI/
- когда 4D получает URL, запрашивающий статическую страницу, которая не существует
- когда 4D обрабатывает тег 4DSCRIPT на полудинамической странице
- когда 4D обрабатывает тег 4DLOOP на основе метода на полудинамической странице.
Примечание. Метод базы данных On Web Authentication ожидает, что логическое значение будет возвращено в $0; True = запрос принят, False = запрос отклонен. Значение по умолчанию, если $ 0 не возвращается - True, что означает, что все запросы приняты.
Метод базы данных On Web Connection вызывается (по умолчанию) в следующих случаях:
При подключении браузера к 4D веб-серверу, работающему в контекстном режиме. Метод базы данных вызывается с /... URL.
- Когда 4D получает URL /4DMETHOD. Веб-сервер переключается в контекстный режим, и метод базы данных вызывается с URL-адресом /4DMETHOD/MethodName в $1.
Когда 4D получает URL /4DCGI. Метод базы данных вызывается с /4DCGI/ URL в $1.- Когда веб-страница вызывается с URL типа /, который не найден. Метод базы данных вызывается с URL-адресом как $1.
- Когда веб-страница вызывается с URL-адресом типа /, и домашняя страница по умолчанию не определена. Метод базы данных вызывается с URL-адресом как $1.
Поэтому (по умолчанию), если веб-посетитель запрашивает страницу, и эта страница существует в веб-папке по адресу, указанному в URL-адресе, эта страница будет автоматически отправлена обратно клиенту без какой-либо специальной обработки. Это нормально в большинстве ситуаций, но разработчик может получить гораздо больший контроль над запросами, внедрив папку веб-приманки.
Итак, если вы хотите, чтобы / url запускал ваш код, вы можете использовать любой из этих подходов:
- используйте index.shtml (обратите внимание на shtml)
- удалить запись в настройках базы данных (поэтому поле по умолчанию в поле пусто)
При изменении параметров веб-конфигурации в 4D пользовательские настройки будут иметь приоритет над настройками базы данных.
если настройки пользователя включены, обязательно проверьте и настройки пользователя, и настройки базы данных.
Пользовательские настройки доступны в следующих пунктах меню:
или же