RewriteEngine on
RewriteRule ^???????? index.php [L,QSA]
^????????
. Это синтаксическая ошибка.$_SERVER['REQUEST_URI']
скрипт всегда получает адрес в первоначальном виде, а не результат преобразований RewriteRule.RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
$_SERVER['REDIRECT_URL']
. Предпоследним должно срабатывать как раз правило RewriteRule ^(.*)$ /catalog/all/ [NC,L]
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/catalog/$ [NC]
RewriteRule ^(.*)$ /catalog/all/ [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]
/catalog/
какой результат ожидаете?/catalog/all/
существующая папка со своим index.html или index.php./catalog/all/
не является физически существующей папкой, то запрос уходит в /bitrix/urlrewrite.php
. А там уже маршрутизацию нужно настраивать средствами самого битрикса а не .htaccess RewriteRule ^(.*)$ /catalog/all/ [NC]
[L]
так что обработка запроса не останавливается и другие правила могут что-нибудь поменять.location = my.jpg { ... } location ~ ^my\.jpg$ { ... }
/
, так что должно бытьlocation = /my.jpg {
...
}
location ~ ^/my\.jpg$ {
...
}
RewriteRule ^provajdery$ https://%0/ [R=301,L]
.php
RewriteRule ^provajdery\.php$ https://%0/ [R=301,L]
RewriteCond %{HTTP_HOST} ^(?>www\.|)[^.]+\.site\.ru$ [NC]
RewriteRule ^new\.php$ https://%0/ [R=301,L]
RewriteCond %{HTTP_HOST} ^domen\.site\.ru$ [NC]
RewriteRule ^new\.php$ https://domen.site.ru/ [R=301,L]
для одного слова или группы
(\S+ )
совпадений не найдёт.^\S+( \S+)*$
В словах не могут содержаться:
знаки препинания и прочие символы
\S
наверно должно быть перечисление нужных букв [a-zA-Zа-яёА-ЯЁ]
Попробуйте удалить файл .htaccess и открыть site.com/index.php