Как корректно перенести .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
#RewriteMap access txt:/var/www/smoservice/data/www/moonlight.smoservice.media/blacklist_.txt
#RewriteCond ${access:%{REMOTE_ADDR}} deny [NC]
#RewriteRule ^ - [L,F]
#RewriteRule ^pages/([a-z0-9_]+)\.php$ /pages/$1/ [R=301]
#RewriteRule /upload/iblock/fe4/fe4e297043821e32102ef5e25c1ab40f\.jpg /assets/img/social-icons/a-facebook.png
RewriteCond %{REQUEST_URI} !(/$|\.)
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]
RewriteCond %{THE_REQUEST} //
RewriteRule ^.*$ https://smoservice.media/$0 [R=302,L,NE]
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 webfonts/(.*)$ https://smoservice.media/assets/vendors/font-awesome/webfonts/$1 [NC,L,QSA]
# RewriteRule ^img/(.*)$ https://smoservice.media/assets/img/$1 [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 %{HTTP_HOST} ^www\.smoservice\.media$ [NC]
RewriteRule (.*) https://smoservice.media/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^moonlight\.smoservice\.media$ [NC]
RewriteRule (.*) https://smoservice.media/$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_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 к внутренним ссылкам элементов + их дальнейшего редиректа на страницу с "/" при открытии пользователем в браузере.