@nikolay_akhmetyanov
Front-end developer

Как убрать / в конце url bitrix?

Добрый день!
Есть старый сайт и там все адреса имеют вид
www.site.ru/katalog/stoly
И есть новый сайт на битриксе
www.site-new.ru/katalog/stoly/ - обратите внимание на / в конце адреса. Как от него избавиться?

php_value mbstring.internal_encoding UTF-8
php_value default_charset utf-8
php_value opcache.revalidate_freq 0
php_value max_input_vars 10000
php_value default_socket_timeout 60
Options -Indexes 
ErrorDocument 404 /404.php

<IfModule mod_php5.c>
  php_flag session.use_trans_sid off
  #php_flag default_charset UTF-8
  #php_value display_errors 1
</IfModule>

<IfModule mod_php7.c>
  php_flag session.use_trans_sid off
  #php_flag default_charset UTF-8
  #php_value display_errors 1
</IfModule>

<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On
	RewriteBase / 
	RewriteCond %{HTTP_HOST} ^test-new.ru$ [NC]
	RewriteRule ^(.*)$ http://www.test-new.ru/$1 [R=301,L]

	############################################################################
	#### Убираем index.php, если он есть в конце URL                        ####
	############################################################################
	RewriteCond %{REQUEST_URI} ^(.*)/index\.php$
		# URL cодержит index.php в конце.
	RewriteCond %{REQUEST_METHOD} =GET
		# Выявляем GET запрос в URL (не POST).
	RewriteRule ^(.*)$ %1/ [R=301,L]
		# Удалить index.php из URL.

	############################################################################
	#### Убираем повторяющиеся слеши (/) в URL                              ####
	############################################################################
	RewriteCond %{THE_REQUEST} //
		# Проверяем, повторяется ли слеш (//) более двух раз.
	RewriteCond %{QUERY_STRING} !http(s|)://
	# Убедимся что это не урл в  GET
	RewriteRule .* /$0 [R=301,L]
		# Исключаем все лишние слеши.

	############################################################################
	#### Убираем слеши в конце URL для статических файлов (содержит точку)  ####
	############################################################################
	RewriteCond %{REQUEST_URI} \..+$
		# Если файл содержит точку.
	RewriteCond %{REQUEST_FILENAME} !-d
		# И это не директория.
	RewriteCond %{REQUEST_FILENAME} -f
		# Является файлом.
	RewriteCond %{REQUEST_URI} ^(.+)/$
		# И в конце URL есть слеш.
	RewriteRule ^(.+)/$ /$1 [R=301,L]
		# Исключить слеш.


	RewriteCond %{REQUEST_URI} ^(.*/[^/\.]+)$
	RewriteRule ^(.*)$ http://%{HTTP_HOST}/$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>
  • Вопрос задан
  • 2126 просмотров
Пригласить эксперта
Ответы на вопрос 1
@freekirill
Пишу под Битрикс
RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-l
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_URI} ^(.*/[^/\.]+)$
   RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]


Есть вот такое решения
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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