Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Ошибка 404

00 голосов
2
Добрый день.
Сегодня игрался с структурой и меню в Битриксе.
Потом заметил, что на несуществующие разделы Битрикс перестал реагировать 404 ошибкой, а начал выдавать главную страницу.
Первым делом проверил .htaccess:
Код
Options -Indexes 
ErrorDocument 404 /404.php

<IfModule mod_php5.c>
  php_flag allow_call_time_pass_reference 1
  php_flag session.use_trans_sid off

  #php_value display_errors 1

  #php_value mbstring.func_overload 2
  #php_value mbstring.internal_encoding UTF-8
</IfModule>

<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
  RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
  RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
</IfModule>

<IfModule mod_dir.c>
  DirectoryIndex index.php index.html
</IfModule>

<IfModule mod_expires.c>
  ExpiresActive on
  ExpiresByType image/jpeg "access plus 3 day"
  ExpiresByType image/gif "access plus 3 day"
</IfModule>


"Эррор документ" прописан корректно, сам файл присутствует, а Битрикс даже и не думает его запрашивать. Что я упустил?
спросил 04 Авг, 13 от RoMZeS1k (330 баллов)

2 Ответы

00 голосов
Сам спросил, сам ответил.
Проблема была в файле urlrewrite.php
Почему-то Битрикс добавил мне туда такой массив
Код
   array(
      "CONDITION"   =>   "#^/#",
      "RULE"   =>   "",
      "ID"   =>   "bitrix:catalog",
      "PATH"   =>   "/index.php",
   )

Для чего, и по какой команде он это сделал, я так и не понял, главное все закончилось хорошо)
ответил 04 Авг, 13 от RoMZeS1k (330 баллов)
00 голосов
Забавно. После удаления этих строк стала работать 404, но в ней перестало отображаться левое меню)

Сделал пару манипуляций с 404.php, и понял, что не работает левое меню из-за вызова этого компонента.
Код
$APPLICATION->IncludeComponent("bitrix:main.map", ".default", array(
   "CACHE_TYPE" => "A",
   "CACHE_TIME" => "36000000",
   "SET_TITLE" => "Y",
   "LEVEL" => "3",
   "COL_NUM" => "1",
   "SHOW_DESCRIPTION" => "N"
   ),
   false
);

Как оно вообще можно быть связано?

UPD:
Если сначала вызывать
Код
               <?
               $APPLICATION->IncludeComponent("bitrix:menu", "tree", array(
                  "ROOT_MENU_TYPE" => "left",
                  "MAX_LEVEL" => 2,
                  "CHILD_MENU_TYPE" => "left",
                  "USE_EXT" => "Y"
               ));
               ?>

а потом уже МАП, то оба компонента отлично работают. Если наоборот, нет... Как такое вообще возможно?
ответил 04 Окт, 13 от RoMZeS1k (330 баллов)

Похожие вопросы

0 голосов
0 ответов
0 голосов
0 ответов
0 голосов
8 ответов
спросил 15 Июнь, 13 от PLyToVKa (160 баллов)
0 голосов
0 ответов
спросил 25 Апр, 13 от Kania (5,180 баллов)
0 голосов
8 ответов