A
A
ArturZip2020-06-26 14:44:31
1C-Bitrix
ArturZip, 2020-06-26 14:44:31

Why doesn't 404 work on sections in Bitrix?

Need help with 404 error handling. Site on Bitrix.
For example, if on the section pages:
https://website/uslugi/
https://website/information/
add characters after the slash:
https://website/uslugi/fgfhjdfgr The page says "Element not found".
But on the main page and about the company, it redirects to a 404 page.
How can I fix this?

htaccess file
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.internal_encoding UTF-8
</IfModule>
 
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On

#del //
RewriteCond %{REQUEST_URI} ^(.*)/{2,}(.*)$
RewriteRule (.*) %1/%2 [R=301,L] 

#del www
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

#add /
RewriteCond %{REQUEST_URI} ^(.*/[^/\.]+)$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]

RewriteCond %{REQUEST_URI} ^(.*)/$
RewriteRule .* - [L]
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]
RewriteCond %{REQUEST_METHOD} =GET
RewriteCond %{REQUEST_URI} ^(.*)/index.php$
RewriteRule ^(.*)$ %1/ [R=301,L] 

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"
ExpiresByType image/png "access plus 3 day"
ExpiresByType text/css "access plus 3 day"
ExpiresByType application/javascript "access plus 3 day"
</IfModule>

Answer the question

In order to leave comments, you need to log in

1 answer(s)
A
Andrey Nikolaev, 2020-06-26
@ArturZip

Depends on which component you are using.
For example, for bitrix:news.detail there are parameters that determine the behavior when a non-existent element is requested. So it turns out that if the SHOW_404 parameter is set to false, then the message "Element not found" will be displayed to the user, and if true, the contents of the 404 page

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question