Jump to content
Sign in to follow this  
Drage

При добавлении слеша / после .html в статических страницах отображается 404 ошибка

Recommended Posts

Установил DLE 14

Проблема в том, что если зайти на статическую страницу:

http://radio.maranafa.org/rating-top.html

то она отображается корректно, а если добавить после УРЛа / то перекидывает на ошибку 404, и не DLEшную, а глобальную которая настроена на хостинге.

http://radio.maranafa.org/rating-top.html/

 

Версия PHP: 7.4

 Подскажите, как решить проблему?

Возможно файл .htaccess поправить или какие-то настрройки php изменить?

 

(проверял это на версии DLE 11.2 / PHP 5.5- и 404 ошибка не выводилась)

Share this post


Link to post
Share on other sites

DLE обрабатывает только те страницы, которые принадлежат DLE, а для страниц которые не имеют отношения обрабатываются сервером напрямую без участия DLE. Соответственно вам нужно задавать серверные обработчики для несуществующих страниц. Да в данном случае можно настроить обработчик через .htaccess если конфигурация сервера, установленная хостингом это позволяет. Вам нужно уточнить это в службе поддержки вашего хостинга, как настроить обработчик несуществующих страниц на сервере.

Share this post


Link to post
Share on other sites
Posted (edited)
1 час назад, celsoft сказал:

DLE обрабатывает только те страницы, которые принадлежат DLE, а для страниц которые не имеют отношения обрабатываются сервером напрямую без участия DLE. Соответственно вам нужно задавать серверные обработчики для несуществующих страниц. Да в данном случае можно настроить обработчик через .htaccess если конфигурация сервера, установленная хостингом это позволяет. Вам нужно уточнить это в службе поддержки вашего хостинга, как настроить обработчик несуществующих страниц на сервере.

у меня стоиn модуль DLE-Billing

http://radio.maranafa.org/billing.html

 

И У этого модуля ссылки в формате /billing/log и они не работают, но не понятно почему, это же должно относиться к DLE?

Edited by Drage

Share this post


Link to post
Share on other sites
2 часа назад, Drage сказал:

это же должно относиться к DLE?

Нет, это относится исключительно к модулю.

2 часа назад, Drage сказал:

У этого модуля ссылки в формате /billing/log и они не работают

проверьте наличие правил для чпу именно для данного модуля в .htaccess

Share this post


Link to post
Share on other sites

Я в nginx так указываю:

server {
...
...
...
error_page 404 /404;
}

 

Share this post


Link to post
Share on other sites
9 часов назад, germanydletest сказал:

Нет, это относится исключительно к модулю.

 

Само собой, весь код и функционал модуля относится к модулю, очевидно Но я не имел ввиду что DLE как к продукту, а говорил о том что модуль в данном случае выступает как компонент DLE который по моим соображениям должен был обрабатываться внутри движка. (надеюсь понятно объяснил)

 

9 часов назад, germanydletest сказал:

проверьте наличие правил для чпу именно для данного модуля в .htaccess

У этого модуля нет никаких изменений в файле .htaccess, он должен работать "из коробки".

 

7 часов назад, Captain сказал:

Я в nginx так указываю:

Виртуальный хостинг (не VPS) скорее всего не позволит делать какие-либо правки в nginx, но попробую уточнить у хостера.

Всем спасибо

Share this post


Link to post
Share on other sites
21 час назад, Drage сказал:

И У этого модуля ссылки в формате /billing/log и они не работают, но не понятно почему, это же должно относиться к DLE?

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

9 часов назад, Drage сказал:

У этого модуля нет никаких изменений в файле .htaccess, он должен работать "из коробки".

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

Share this post


Link to post
Share on other sites
1 час назад, celsoft сказал:

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

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

Спасибо. благодаря поддержке хостинга проблема решилась и для тех кто столкнётся с ней напишу тут решение

Во первых проблема номер 1 - ошибка 404 при добавлении слеша / в адресной строке решается добавлением записи в .htaccess:

RewriteBase /
RewriteCond %{HTTP_HOST} (.*)
RewriteCond %{REQUEST_URI} /$ [NC]
RewriteRule ^(.*)(/)$ $1 [R=301,L]

Теперь страницы открываются со слешем и без него в конце. @celsoft возьмите на заметку,  т.к. у вас на сайте при добавлении слеша тоже ошибка 404 высвечивается

 

Проблема номер 2 - Ошибка 404 на страницах /billing.html/log и /billing.html/pay

Решается добавлением записи в .htaccess:

# billing
RewriteRule ^([^/]+).html/(.*)(/?)+$ index.php?do=static&page=$1&seourl=$1&route=$2 [QSA]
RewriteRule ^([^/]+).html/([^/]*)(/?)+$ index.php?do=static&page=$1&seourl=$1&c=$2 [L]
RewriteRule ^([^/]+).html/([^/]*)/([^/]*)(/?)+$ index.php?do=static&page=$1&seourl=$1&c=$2&m=$3 [L]
RewriteRule ^([^/]+).html/([^/]*)/([^/]*)/([^/]*)(/?)+$ index.php?do=static&page=$1&seourl=$1&c=$2&m=$3&p=$4 [L]
RewriteRule ^pay/([^/]*)/([^/]*).html$ index.php?do=static&page=$1&seourl=$1&c=pay&m=get&p=$2 [L,QSA]

 

Надеюсь кому-нибудь поможет

Share this post


Link to post
Share on other sites
40 минут назад, Drage сказал:

Теперь страницы открываются со слешем и без него в конце. @celsoft возьмите на заметку,  т.к. у вас на сайте при добавлении слеша тоже ошибка 404 высвечивается

Т.е. тот факт что это разные страницы, и они не должны обе открываться, вас не смущает? Как раз таки по таким "левым" адресам и должна быть 404 ошибка. И при желании нужно лишь настраивать ее внешний вид. Ну сделали вы слеш, а дальше что? Помимо слеша существует еще тысячи символов. Например http://radio.maranafa.org/rating-top.html😍

 

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...