Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » htaccess убрать слеш в конце url

Страниц (1): [1]
 

1. Айратиус - 27 Июля, 2017 - 19:13:44 - перейти к сообщению
Вам доброго дня. Что прописать в .htaccess , чтобы убрать слеш в конце строки? Сейчас есть такое правило:
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteEngine on
  2. RewriteBase /
  3. RewriteCond %{HTTP_HOST} (.*)
  4. RewriteCond %{REQUEST_URI} /$ [NC]
  5. RewriteRule ^(.*)(/)$ $1 [L,R=301]


И оно работает для
site.ru/video/1/

Но не работает для
site.ru/?page=12/

Что посоветуете?
2. Айратиус - 28 Июля, 2017 - 17:47:26 - перейти к сообщению
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteEngine On
  2. RewriteBase /
  3.  
  4. RewriteCond %{QUERY_STRING} ^(.*)/$
  5. RewriteRule ^(.*)$ /$1?%1 [R=301,L]
  6.  
  7. RewriteRule ^(.*)/$ /$1 [R=301,L]
3. LIME - 28 Июля, 2017 - 22:28:10 - перейти к сообщению
плохое решение
не то чтобы очень...сейчас поисковики это склеивают
но вообще с с лэшем на конце и без него это считаются разными адресами
например
domen.ru/path/file - это файл file по пути /path
domen.ru/path/file/ - это индексный файл (index.html, index.php) по пути /path/file/index.php
тоесть это разные документы
значит это дубли и поисковики это не любят
лучше редиректить с / на конце на тот же адрес но без него
или наоборот
если непонятно пояснил задавай вопросы
4. Айратиус - 28 Июля, 2017 - 23:12:13 - перейти к сообщению
LIME пишет:
плохое решение
не то чтобы очень...сейчас поисковики это склеивают
но вообще с с лэшем на конце и без него это считаются разными адресами
например
domen.ru/path/file - это файл file по пути /path
domen.ru/path/file/ - это индексный файл (index.html, index.php) по пути /path/file/index.php
тоесть это разные документы
значит это дубли и поисковики это не любят
лучше редиректить с / на конце на тот же адрес но без него
или наоборот
если непонятно пояснил задавай вопросы


Так код выше убирает слэши. Протестил уже. Все слеши в итоге исчезли


было site.ru/video/, стало site.ru/video
было site.ru/video.php/, стало site.ru/video.php
было site.ru/video.php?id=15/, стало site.ru/video.php?id=15


В данном случае video это не директория, а файл video.php
5. LIME - 28 Июля, 2017 - 23:15:10 - перейти к сообщению
Айратиус а... точно
301
писал в метро не заметил
все ок
годное решение
только всеравно 5 копеек вставлю)) переходи на nginx там такие вещи проще решаются и еще он асинхронный и более быстрый и... куча плюсов... отдельная тема
а в целом ок решение

 

Powered by ExBB FM 1.0 RC1