ОсновноеRadiotalkПользовательское
Программирование
6   •   Посмотреть все темы

Помощь по htaccess

 

1555
Алексей @TheDark
Привет.

Есть файлик .htaccess
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ ********** [R=301,L]

RewriteCond %{HTTP_HOST} ^www\.example\.ru$ [NC]
RewriteRule ^(.*)$ ********** [R=301,L]

RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_URI} !\.
RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]

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

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ ********** [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ ********** [R=301,L]
</IfModule>

Подскажите, как можно поправить редирект со страниц с слэшами в конце, он должен быть один, а сейчас происходит три:
Пример: с ********** на **********

Сейчас же судя по ********** просиходит так:
1. **********
2. **********
3. **********

Нужно, чтобы сразу на третий вариант.
Пожалуйста, очень нужно.

Отредактировано TheDark - 24.04.2019
20090
Dimitry @Dimitry
Тут уже что-то намудрено прям, я бы лучше слал все запросы на пхп и там уже обрабатывал в привычном виде...
Ну а вообще просто задаётся много RewriteCond с [OR] и потом уже RewriteRule
Точный синтаксис можно нагуглить.

1555
Алексей @TheDark
Dimitry, там большой неповоротливый сайт, уже на php все запросы не настроишь.
Блин, во засада.

8497
Степан @Trilby
Дима все верно сказал. Не фиг тянуть легаси, потом будет еще тяжелее с ним работать.
Возьми ********** и прикрути его к сайту. Это проще, чем кажется, а в итоге сохранит много времени и нервов.

1555
Алексей @TheDark
Вот чем лайв ко отличается от других форумов. Пока на другой площадке мне кидают рабочее решение, здесь раздают бесплатные советы.
Кстати, вдруг кому понадобится.

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On

RewriteRule ^([^.]*[^/])$ ********** [R=301,L]

RewriteCond %{THE_REQUEST} " /index\.(php|htm)"
RewriteRule ^index\.(php|htm) ********** [R=301,L]

RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{THE_REQUEST} ^[^?]+// [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(.*)$ ********** [R=301,L]
</IfModule>

Сайт не мой, по работе пришел таск от одного из сотен клиентов, а тут советы переписать все наново и роутер к условному битриксу прикрутить, офигеть, спасибо.

Отредактировано TheDark - 28.04.2019
20090
Dimitry @Dimitry
Ещё можно было прочитать про RewriteCond и сделать самому.
Ну и на лайв-ко это не гуру форум, а по факту форум поддержки моих проектов.