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

12
Anamnado
На сайте с 08.02.2010
Offline
242
#11

ziliboba0213, писал давно 10 лет назад, было много косяков в плане неудобства. за 10 лет пользования накопилось много мелочей = как сделать удобней + как оптимальней,

и вот дошл руки все сделать - Более того уже все работает и более того на старой версии есть точно такая же проблема - только там урлы без слеша

---------- Добавлено 23.03.2020 в 03:15 ----------

Sitealert:
Короче, после строки
RewriteRule (.*) https://site.ru/$1 [L,R=301]

вставь строки
RewriteCond %{REQUEST_FILENAME} !-f

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

щаблон слетел

и я не знаю как исправить что где подфинтить

щас я покажу всё таки ....

---------- Добавлено 23.03.2020 в 03:19 ----------

а щас по моему я кое что зря сделал

я подумал зачем дублировать строку RewriteCond %{REQUEST_FILENAME} !-f и свою стрер и ...... поломка

А вот если не стирать то вроде работает - щас - потестю отпишусь .....

---------- Добавлено 23.03.2020 в 03:24 ----------

О вроде как работает вот такое ага

за что взял за то продаю

может кому понадобиться


<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule (.*) https://site.ru/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ /$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>
DefaultLanguage ru
AddDefaultCharset utf-8
php_value default_charset "utf-8"



---------- Добавлено 23.03.2020 в 03:30 ----------

// интересная новая фигня появилась - от любого дунавения ветра именно в хроме слетает фавиконка - потом со временем появляется... но чуть сбой какой опять исчезает :D (прописана по абсолютному урл без этого ваще не работает ...)

fliger
На сайте с 17.09.2015
Offline
113
#12

Попробуйте так:


RewriteCond %{REQUEST_URI} /[^\.]+[0-9a-z]$
RewriteCond %{REQUEST_FILENAME}/index\.php -f
RewriteRule ^[^\.]+[0-9a-z]$ http://site\.ru%{REQUEST_URI}/? [R=301,L]
#
RewriteRule ^([^\.]+/)?index\.php$ http://site\.ru/$1? [R=301,L]
Anamnado
На сайте с 08.02.2010
Offline
242
#13

fliger, спасибо все и так работает нормально (последняя вот тут представленная конфигурация) НО

вот только всплыло непредусмотренное обстоятельство...

боты не получают доступ к:

1) https://site.ru/sitemap.xml так как редиректит на урл https://site.ru/sitemap.xml/ (слеш на конце) -

2) и тоже самое с файлами в папке site/images/*.* он к файлам подставляет слеш и всё - 404.... (картинки в индекс не идут)

в этом случае правило RewriteCond %{REQUEST_FILENAME} !-f бессильно :(

помогите плиз внедрить исключение на это....

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

<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_URI} !^/images/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ /$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>
DefaultLanguage ru
AddDefaultCharset utf-8
php_value default_charset "utf-8"
Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
Anamnado
На сайте с 08.02.2010
Offline
242
#15

с беглого теста вроде то что нужно

спасибо !

12

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