.htaccess редирект слеш в конце url

12
Anamnado
На сайте с 08.02.2010
Offline
242
1152

очередная просьба помочь с настройкой .htaccess

в интернете примеров полно но не знаю как их встроить в мою конфигурацию

и так независимо от того как я делаю перелинковку в индекс попадают страницы и со слешем на конце и без

site.ru/catalog

site.ru/catalog/

я определился будут делать урлы со слешем на конце и в связи с этим нужна соответствующая настройка в .htaccess (нужен редирект на урлы со слешем на конце..)

вот моя уже имеющаяся конфигурация, которая все хорошо работает

куда что вставить??


<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule (.*) https://site.ru/$1 [L,R=301]
RewriteCond %{REQUEST_URI} !^/robots\.txt$
RewriteCond %{REQUEST_URI} !^/sitemap\.xml$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php
RewriteRule ^content/(.*)$ index.php
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
</IfModule>

// куда не пробую советы из интернета сувать -

типа вот такие строки добавляю (в разные места пробовал вставлять и разные вариации)


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

белиберда получается :(

богоносец
На сайте с 30.01.2007
Offline
765
#1

Сделали бы сначала rel=canonical на избранный вами вариант... подождали бы долго, а потом 301.

А иначе – сначала выпадет из индекса неправильный вариант... а впадёт ли обратно правильный?.. если ещё на доры не растащило.

Anamnado
На сайте с 08.02.2010
Offline
242
#2
богоносец:
А иначе – сначала выпадет из индекса неправильный вариант

я все новые страницы прогоняю через вебмастер-переобход и гугл консоль - робот быстро переобходит и они сидят в индексе уверенно (как основные - вроде проблем нет) - а вот спустя какое то время начинается шалтай болтай с дублями - войдет-выйдет войдет выйдет ( на старых сайтах эта игра была со слешем на конце) вот сейчас делаю новый сайт - началась игра вход выход без слеша на конце

оно напрягает конечно видеть это вот "туда сюда" - но .. основная . суть иная -"вес не терять"

а идея сanonical кстати тоже вариант ....

S
На сайте с 30.09.2016
Offline
469
#3
Anamnado:
белиберда получается

В чём состоит "белиберда"?

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
Anamnado
На сайте с 08.02.2010
Offline
242
#4

Sitealert, что то типа

- раз выдал при загрузке главной site.ru/index.php (такого урл у меня нет)

- второй раз site.ru/раздел/раздел/index.php (тоже на 404 ушло )

если найдется желающий повозиться помочь (спешки нет) я могу все здесь визуализировать (на сателите...ссылку дать).

править и смотреть чо будет.... - суть - надож знать чо править ....

S
На сайте с 30.09.2016
Offline
469
#5
Anamnado:
Sitealert, что то типа
- раз выдал при загрузке главной site.ru/index.php (такого урл у меня нет)
- второй раз site.ru/раздел/раздел/index.php (тоже на 404 ушло )

Ну естественно, там же написано

RewriteRule ^(.*)$ index.php
RewriteRule ^content/(.*)$ index.php
Anamnado
На сайте с 08.02.2010
Offline
242
#6

Sitealert, да написано - но при этом все работает хорошо! (да он все отправляет на index.php но делает это как то хитро что сам index.php не видно он просто обрабатывает url (ну в зависимости того что там и выдает контент ) не коверкая его (урл ) ни капли)

(мне эту настройку тоже помогали составлять. я не сам - вот и не шарю ..... )

S
На сайте с 30.09.2016
Offline
469
#7
Anamnado:
Sitealert, да написано - но при этом все работает хорошо!

На сарае тоже написано...(С) Читай, что я написал.

Anamnado:
мне эту настройку тоже помогали составлять
Гони таких помощников.
Anamnado:
я не сам - вот и не шарю ..... )
Пора бы научиться, если на этом зарабатываешь.
Anamnado
На сайте с 08.02.2010
Offline
242
#8

Sitealert, вот эту строку знаю

^content/(.*)$ index.php

у меня там контент хранится (в файлах) и если ее не будет контент можно выудить напрямую минуя шаблон

( то есть создает исключение условию RewriteCond %{REQUEST_FILENAME} !-f )


Sitealert:
Читай, что я написал.

Sitealert, читай не читай

конфигурация опубликована и два сайта на ней в подписи! (а делаю я чуть иное пока на сателите тестю обкатываю)


Пора бы научиться, если на этом зарабатываешь

вот и учусь

а до этого 9 лет эти записи не модицифицировал!

учиться тому чего не делать ведь тоже глупо ...

S
На сайте с 30.09.2016
Offline
469
#9

Короче, после строки

RewriteRule (.*) https://site.ru/$1 [L,R=301]

вставь строки

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]
Z0
На сайте с 03.09.2009
Offline
794
#10

Зачем трогать то, что работает? Оставьте то, что уже проиндексировано, на это и сделайте редирект. Тогда и танцы с бубном не нужны будут, ИМХО :)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий