Как создать htaccess для запрета конечного слеша?

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем barabula, 4 янв 2014.

  1. barabula

    barabula

    Регистр.:
    21 май 2009
    Сообщения:
    470
    Симпатии:
    77
    Подскажите пожалуйста есть сайт например

    http://site.ru

    В нем много страниц под тип:

    http://site.ru/1.php
    http://site.ru/2.php
    http://site.ru/3.php

    Такие страницы отображаются отлично, но если вбить вот так:

    http://site.ru/1.php/
    http://site.ru/2.php/
    http://site.ru/3.php/

    С конечным слешем на конце, то все становится дико кривым и плывет, дизайн корежится и т.д.

    Задача через Htaccess или ещё как-то сделать так, чтобы после .php если дописать слеш, то он убирался или редиректил куда-то.

    Скажу сразу мне советовали вот такие конструкции:

    RewriteEngine on
    RewriteBase /
    RewriteRule ^(.*)\.php/$ $1.php [L, 301]


    RewriteRule ^(.*)\.php/.*$ $1.php [L, 301]


    RewriteEngine on
    RewriteBase /
    RewriteRule ^(.*)\.php\\$ $1.php [L]

    RewriteEngine on
    RewriteBase /
    RewriteRule ^(.*)\.php\$ $1.php [L]


    Не одна из конструкций не сработала правильно, может кто-то ещё подскажет вариант, или вовсе предложит решение не через htaccess
     
  2. esche

    esche

    Регистр.:
    9 авг 2009
    Сообщения:
    358
    Симпатии:
    242
    Код:
    RewriteRule ^(.*)\.php\/$ /$1.php [R=301,L]
    Вставлять после
    Код:
    RewriteEngine on
    или "RewriteBase" / (если есть)
     
    barabula нравится это.