Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как перенести правила переадресации из .htaccess в php обработчик nginx?

Как корректно перенести .htaccess в php обработчик nginx? Сам сайт использует 1С-Битрикс - CMS, но имеет множество новых модулей и переделанных функций. Почти все вышло перенести, кроме нескольких деталей. А именно:

Ссылка на новость должна иметь вид в URL https://smoservice.media/news/?ELEMENT_ID=764766 без index.php (сейчас он формируется автоматически и добавляется к ссылкам, например в обычном каталоге статей smoservice.media/blog/

Также не работает переключатель цвета темы на странице https://smoservice.media/telegram/ (и на странице товара), зато на всех остальных страницах функционирует прекрасно.

В системе стоит также многосайтовость от 1С-Битрикс, так что все эти правила должны работать и на других доменах (например https://smmbang.ru).

Options -Indexes

ErrorDocument 404 /404.php

<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

#RewriteCond ${access:%{REMOTE_ADDR}} deny [NC]

#RewriteRule ^ - [L,F]

#RewriteRule ^pages/([a-z0-9_]+)\.php$ /pages/$1/ [R=301]

RewriteCond %{REQUEST_URI} !(/$|\.)

RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]

RewriteCond %{THE_REQUEST} //

RewriteRule ^fast/index\.php$ /fast [R=301,L]

RewriteRule ^fast/index\.php/$ /fast [R=301,L]

RewriteRule ^index\.php$ / [R=301,L]

RewriteRule ^(.*)/index\.php$ /$1/ [R=301,L]

RewriteRule ^catalog/([a-z0-9_\-]+)/?$ /$1/ [R=301,L]

# RewriteRule ^fast/?$ /fast/item.php [NC,L,QSA]

RewriteRule ^fast/([a-z]+)/?$ /fast/item.php?type=$1 [NC,L,QSA]

RewriteRule ^fast/([a-z]+)/([a-z\-_]+)/?$ /fast/item.php?type=$1&sub=$2 [NC,L,QSA]

RewriteRule ^subscriptions/([a-z]+)/?$ /subscriptions/service.php?type=$1 [L,QSA]

RewriteCond %{QUERY_STRING} ^type=(\w+)$

RewriteRule ^fast/$ /fast/%1/? [L,R=301,QSD]

RewriteCond %{REQUEST_FILENAME}.php -f

RewriteRule ^pages/([a-z0-9_\-]+)/?$ /pages/$1.php [NC,L,QSA]

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_headers.c>

Header set X-Frame-Options SAMEORIGIN

Header set X-Content-Type-Options nosniff

</IfModule>

<IfModule mod_mime.c>

AddType font/opentype .otf

AddType application/x-font-woff .woff

AddType application/x-font-woff2 .woff2

AddType application/x-font-ttf .ttf

AddType application/vnd.ms-fontobject .eot

AddType image/svg+xml .svg

</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"

ExpiresByType application/x-font-woff "access plus 1 year"

ExpiresByType application/x-font-woff2 "access plus 1 year"

</IfModule>

<ifModule mod_gzip.c>

mod_gzip_on Yes

mod_gzip_dechunk Yes

mod_gzip_item_include file .(html?|txt|css|js|php|pl)$

mod_gzip_item_include handler ^cgi-script$

mod_gzip_item_include mime ^text/.*

mod_gzip_item_include mime ^application/x-javascript.*

mod_gzip_item_exclude mime ^image/.*

mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

</ifModule>

Вопрос. Что нужно добавить, чтобы в первую очередь решить проблему с добавлением index.php к внутренним ссылкам элементов + их дальнейшего редиректа на страницу с "/" при открытии пользователем в браузере.

СайтыСерверы+3
Анонимный вопрос
  ·   · 291