Здравствуйте. Не могу создать материал, нажимаю "Добавить материал" и пишет страница не найдена. Приходится пересоздавать весь проект с друпалом (делаю на локалке), и тогда все норм, но потом опять ошибка. Помогите
Данных для анализа проблемы маловато..
Хорошо бы знать:
1.Путь ссылки "Добавить материал" как при правильной работе, так и при ошибке.
2.Последние логи php, web-сервера сразу после перехода с результатом "страница не найдена".
3.Какие действия по настройке сайта производились перед тем, как начала появляться данная "ошибка"
1. и там и там /web/node/add (http://joxi.ru/DmBznjdIJJz5om)
2. пусто, сделал осознано ошибку в коде, логи сработали, при переходе на "Добавить материал" логов нету.
3.
3.1 Сразу развернул друпал при помощи composer
3.2 создал базу
3.3 прошел шаги установки друпала
3.4 создал тип материала
3.5 добавил к нему два поля (дата и целое число)
3.6 сделал дубль отображения "Страница"
3.7 сделал формат таблицей
3.8 добавил два поля (http://joxi.ru/Y2LKyoxs77QV7m)
3.9 добавил материал (просто заголовок добавил)
3.10 потом могу добавить какой-нибудь поле, или изменить отображение, или еще что-то и все, пытаюсь добавить материал - пишет Страница не найдена
понятно, дело в вашей ospanel
конфиг вероятно генерируется автоматически, если его можно изменять в ручную,
спецы по апачу вероятно дадут более полные рекомендации, но Вам как минимум необходимо чтобы DocumentRoot указывал на папку web
что-то типа такого:
было DocumentRoot "%hostdir%"
стало DocumentRoot "%hostdir%/web"
node/% - это системный путь для материала типа node.
Никогда не пытался его переопределить, поэтому не могу сказать, как его переопределение может повлиять на работу друпал.
Не совсем понятно, зачем Вы его переопределяете.
И кстати, а как Вы настроили контекстные фильтры (раскройте блок Расширенные (справа))
в контекстных фильтрах определяется, что означает "символ" "%" в пути "node/%"
Лучше объясните, пожалуйста, зачем Вы делаете этот вьюс?
Возможно, для того что Вы делаете есть более стандартные, а следовательно, полностью рабочие решения .
"/node" это системный путь для материала типа node
в вьюсах Вы можете использовать любой другой путь, отличный от системного:
mynode, article и т.д и т.п., т.е. любой набор букв, тире и знаков подчеркивания, не совпадающий с системными путями.
На ютубе есть куча роликов про использование модуля Views в Drupal.
Посмотрите, лучше поймете правила работы с ним и сэкономите кучу времени..
Комментарии
Такое ощущение, что у вас либо отсутствует файл .htaccess в корне проекта, либо не работает mod_rewtite, если веб-сервер Apache2
увы, но все это есть
Данных для анализа проблемы маловато..
Хорошо бы знать:
1.Путь ссылки "Добавить материал" как при правильной работе, так и при ошибке.
2.Последние логи php, web-сервера сразу после перехода с результатом "страница не найдена".
3.Какие действия по настройке сайта производились перед тем, как начала появляться данная "ошибка"
1. и там и там /web/node/add (http://joxi.ru/DmBznjdIJJz5om)
2. пусто, сделал осознано ошибку в коде, логи сработали, при переходе на "Добавить материал" логов нету.
3.
3.1 Сразу развернул друпал при помощи composer
3.2 создал базу
3.3 прошел шаги установки друпала
3.4 создал тип материала
3.5 добавил к нему два поля (дата и целое число)
3.6 сделал дубль отображения "Страница"
3.7 сделал формат таблицей
3.8 добавил два поля (http://joxi.ru/Y2LKyoxs77QV7m)
3.9 добавил материал (просто заголовок добавил)
3.10 потом могу добавить какой-нибудь поле, или изменить отображение, или еще что-то и все, пытаюсь добавить материал - пишет Страница не найдена
еще иногда пропадают вкладки (http://joxi.ru/8AnpGn8Szz7gEm)
если попытаться открыть материал через сайт (а не админку) то http://joxi.ru/KAxbVqQSZZ1Bem
Почему /web/node/add то??
Каталог web должен быть корневым каталогом при установке через composer drupal project. Вот и всё. Настройте вебсервер на каталог web и всё заработает
Блин, не успел, пока ссылку на документацию искал-))
на одном уровне с web есть еще ведь каталоги, получается что в папке с доменами у меня будет каша, как-то это не очень, или я что-то не так делаю?
Пример: допустим у вас структура по умолчанию:
/home/user/www
Вы в каталог www устанавливаете друпал8, где есть различные служебные каталоги и каталог web, где лежит ядро друпала, модули, темы, файлы.
Но т.к. ядро лежит в web, то вам нужно перенастроить ваш вебсервер с каталога /home/user/www на каталог /home/user/www/web
все очень просто.
/var/www/my_drupal - папка проекта (папка "установки" drupal8)
/var/www/my_drupal/web - корневая папка сайта
увы, но нет http://joxi.ru/YmE98oZtwwJY5m
Вы можете прикреплять скриншоты используя эту кнопку:
1. создал проект:
cd C:\ospanel\domains\
composer create-project drupal-composer/drupal-project:8.x-dev drupal10 --stability dev --no-interaction
cd drupal10\web
composer require drupal/bootstrap drupal/Checklistapi drupal/Coffee drupal/admin_toolbar drupal/console drupal/redirect drupal/pathauto drupal/metatag drupal/hreflang drupal/xmlsitemap drupal/google_analytics drupal/easy_breadcrumb drupal/linkit drupal/editor_advanced_link drupal/sitemap drupal/search404 drupal/yoast_seo drupal/diff drupal/scheduler drupal/security_review drupal/advagg drupal/cloudflare drupal/webform drupal/fontawesome
2. Создал базу данных
3. Прошел шаги установки
4. Создал тип материала
5. Удалил поле body
6. Добавил поле дата и поле целое число
7. Продублировал отображение Страница, добавил эти поля, отобразил их как таблица, изменил путь на node/%
8. Через админку нажимаю добавить материал и меня перекидывает на Страница не найдена.
Интересно. Вы еще не создали БД, а уже устанавливаете модули в друпал
а конфиг web-сервера посмотреть можно?
# Начало блока конфигурации HTTP хоста
#-----------------------------------------------#
<VirtualHost *:%httpport%>
DocumentRoot "%hostdir%"
ServerName "%host%"
ServerAlias "%host%" %aliases%
ScriptAlias /cgi-bin/ "%hostdir%/cgi-bin/"
php_value error_log "%hostdir%/error.log"
php_flag log_errors on
</VirtualHost>
#-----------------------------------------------#
# Конец блока конфигурации HTTP хоста
#-----------------------------------------------#
#-----------------------------------------------#
# Начало блока конфигурации HTTPS хоста
#-----------------------------------------------#
<IfModule ssl_module>
<VirtualHost *:%httpsport%>
DocumentRoot "%hostdir%"
ServerName "%host%"
ServerAlias "%host%" %aliases%
ScriptAlias /cgi-bin/ "%hostdir%/cgi-bin/"
SSLEngine on
#Header always set Strict-Transport-Security "max-age=94608000"
#SSLCACertificateFile ""
#SSLCertificateChainFile ""
SSLCertificateFile "%sprogdir%/userdata/config/cert_files/server.crt"
SSLCertificateKeyFile "%sprogdir%/userdata/config/cert_files/server.key"
SetEnvIf User-Agent ".*MSIE [1-5].*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
SetEnvIf User-Agent ".*MSIE [6-9].*" \
ssl-unclean-shutdown
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "%hostdir%/cgi-bin/">
SSLOptions +StdEnvVars
</Directory>
php_value error_log "%hostdir%/error.log"
php_flag log_errors on
</VirtualHost>
</IfModule>
#-----------------------------------------------#
# Конец блока конфигурации HTTPS хоста
#-----------------------------------------------#
1. создал проект:
cd C:\ospanel\domains\
composer create-project drupal-composer/drupal-project:8.x-dev drupal11 --stability dev --no-interaction
ДОП. МОДУЛИ ТЕПЕРЬ НЕ СТАВИЛ
2. Создал базу данных
3. Прошел шаги установки
4. Создал тип материала
5. Удалил поле body
6. Добавил поле дата и поле целое число
7. Продублировал отображение Страница, добавил эти поля, отобразил их как таблица, изменил путь на /node/%
8. Через админку нажимаю добавить материал и меня перекидывает на Страница не найдена.
Если сразу создать материал после уставноки друпала, то он создается
понятно, дело в вашей ospanel
конфиг вероятно генерируется автоматически, если его можно изменять в ручную,
спецы по апачу вероятно дадут более полные рекомендации, но Вам как минимум необходимо чтобы DocumentRoot указывал на папку web
что-то типа такого:
было DocumentRoot "%hostdir%"
стало DocumentRoot "%hostdir%/web"
если это универсальный конфиг для всех сайтов сервера, то возможно для конкретного сайта можно как-то подстроить переменные сервера.
главное, чтобы DocumentRoot у казывал на
C:\ospanel\domains\drupal10\web
сделал, и попробовал все заново, только после каждого этапа пробовал нажать на Добавить материал
итог - после дублирования отображения Страница и указании пути, нажатие переводит на Страница не найдена
node/% - это системный путь для материала типа node.
Никогда не пытался его переопределить, поэтому не могу сказать, как его переопределение может повлиять на работу друпал.
Не совсем понятно, зачем Вы его переопределяете.
И кстати, а как Вы настроили контекстные фильтры (раскройте блок Расширенные (справа))
я с ним ничего не делал
и если путь не трогать, то как мне кастомизировать отображение материала?
Шаблонами, вестимо. А что именно и как надо кастомизировать?
в контекстных фильтрах определяется, что означает "символ" "%" в пути "node/%"
Лучше объясните, пожалуйста, зачем Вы делаете этот вьюс?
Возможно, для того что Вы делаете есть более стандартные, а следовательно, полностью рабочие решения .
пробовал сопоставить но все равно, материалы срабатывают, а node/add нет
если без %, то как мне задать например, чтобы внутри была таблица из полей?
для пути /node?
тогда таблицей будет отображаться список, а материалы будут не тронуты
"/node" это системный путь для материала типа node
в вьюсах Вы можете использовать любой другой путь, отличный от системного:
mynode, article и т.д и т.п., т.е. любой набор букв, тире и знаков подчеркивания, не совпадающий с системными путями.
На ютубе есть куча роликов про использование модуля Views в Drupal.
Посмотрите, лучше поймете правила работы с ним и сэкономите кучу времени..
да, пожалуй так и сделаю, спасибо большое!