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

Помощь по htaccess

 

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

Есть файлик .htaccess
  1. <IfModule mod_rewrite.c>
  2. Options +FollowSymLinks
  3. RewriteEngine On
  4. RewriteCond %{HTTPS} !=on
  5. RewriteRule ^(.*)$ ********** [R=301,L]
  6. RewriteCond %{HTTP_HOST} ^www\.example\.ru$ [NC]
  7. RewriteRule ^(.*)$ ********** [R=301,L]
  8. RewriteCond %{REQUEST_URI} !/$
  9. RewriteCond %{REQUEST_URI} !\.
  10. RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]
  11. RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
  12. RewriteRule . %1/%2 [R=301,L]
  13. RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
  14. RewriteRule ^index\.php$ ********** [R=301,L]
  15. RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
  16. RewriteRule ^index\.html$ ********** [R=301,L]
  17. </IfModule>

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

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

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

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

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

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

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

  1. <IfModule mod_rewrite.c>
  2. Options +FollowSymLinks
  3. RewriteEngine On
  4. RewriteRule ^([^.]*[^/])$ ********** [R=301,L]
  5. RewriteCond %{THE_REQUEST} " /index\.(php|htm)"
  6. RewriteRule ^index\.(php|htm) ********** [R=301,L]
  7. RewriteCond %{HTTPS} !=on [OR]
  8. RewriteCond %{THE_REQUEST} ^[^?]+// [OR]
  9. RewriteCond %{HTTP_HOST} ^www\. [NC]
  10. RewriteRule ^(.*)$ ********** [R=301,L]
  11. </IfModule>

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

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

0





Согласие на обработку данных на нашем сайте

Продолжая просматривать страницу, вы соглашаетесь с использованием файлов «Cookie» и с Политикой конфиденциальности «Privacy».
Наверху или внизу страницы вы можете изменить валюту и язык по умолчанию. Английская версия сайта ещё находится в доработке и доступна не полностью.