Как с помощью htaccess добавить обратный слэш в конце домена и части разделов?

Подскажите, пожалуйста как с помощью htaccess добавить обратный слэш в конце домена и части разделов? Например основной домен:
site.ru -> на site.ru/
Подпапки первого уровня тоже переадресуются:
site.ru/content > site.ru/content/
site.ru/article > site.ru/article/
А второй уровень вложенности не переадресуется:
а site.ru/content/8, site.ru/content/8name и т.д. уже перенаправлять не нужно
  • Вопрос задан
  • 1317 просмотров
Решения вопроса 1
@ShamblerR
странно вообще то, обычно или следят за двойными страницами или нет,но частично???? это зачем
Теперь смотри
1. не везде можно добавить / например его нельзя добавить к html файлу так что нужно еще правило следящее за такой фигней
2. если тебе нужен просто слеш после домена так поставь его в куда /куда и все
3. Если тебе нужно на определеном уровне сработку скажем на 3 то следовательно и пропиши в условие
4. Если тебе нужно избавитсья от дублей то

############################################################################
#### Убираем повторяющиеся слеши (/) в URL                              ####
############################################################################
RewriteCond %{REQUEST_URI} ^(.*)/{2,}(.*)$
   # Проверяем, повторяется ли слеш (//) более двух раз.
RewriteRule . %1/%2 [R=301,L]
   # Исключаем все лишние слеши.

############################################################################
#### Убираем слеши в конце URL для статических файлов (содержит точку)  ####
############################################################################
RewriteCond %{REQUEST_URI} \..+$  
   # Если файл содержит точку.
RewriteCond %{REQUEST_FILENAME} !-d   
   # И это не директория.
RewriteCond %{REQUEST_FILENAME} -f
   # Является файлом.
RewriteCond %{REQUEST_URI} ^(.+)/$      
   # И в конце URL есть слеш.
RewriteRule ^(.+)/$ /$1 [R=301,L]     
   # Исключить слеш.

############################################################################
#### Добавляем слеш(/), если его нет, и это не файл.                    ####
############################################################################
RewriteCond %{REQUEST_URI} !(.*)/$
   # Если слеша в конце нет.
RewriteCond %{REQUEST_FILENAME} !-f
   # Не является файлом.
RewriteCond %{REQUEST_URI} !\..+$
   # В URL нет точки (файл).
RewriteRule ^(.*)$ $1/ [L,R=301]
   # Добавляем слеш в конце.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы