Валерий Рябошапко: вы получите example.com/images/ посколкьу изначально идет проверка что если не / в конце RewriteCond %{REQUEST_URI} ^(.*/[^/\.]+)$
Написано только что
ShamblerR: какой-то оверхэд. Во-первых, регулярки ^/(.+)/$ вполне достаточно для определения конечного слэша. Во-вторых, судя по формулировке вопроса, нужна безусловная пересылка. Зачем тогда лишних три обращения к диску? В-третьих, зачем две регулярки, если можно использовать одну? Особенно если всё это прописано в костыльном .htaccess.
Валерий Рябошапко: все это связано с тем что вы слишком мало подумали.
вопервых не нужен слеш при окончаниях на файле, следовательно нужно отсекать все с окончанием на расширения, являющееся файлом и тд.
По хорошему еще бы делать запрос на 404 на конечной стороне иначе будет 301+400 в общем не все так просто.
shambler81: переведите, пожалуйста, на русский язык фразу "не нужен слеш при окончаниях на файле, следовательно нужно отсекать все с окончанием на расширения, являющееся файлом и т. д." И, заодно, поясните, что Вы имеете ввиду под 301+400.
Могу немного пованговать и заметить, что имя файла не может заканчиваться слэшем.
Валерий Рябошапко: 1 да,
2. мде, вообще то статусы складываются а не отдается последний, вы с легкостью можите наблюдать 301+301+301+200
или 301+404 что в свою очередь не совсем 404
Более внимательно посмотрите как формируется ответ сервера, и если вы пользуете один онлайновый сервис для просмотра этих данных, то поищите более расшыреный.
Хочу уточнить, что, на мой взгляд, проверка на 404 кажется лишней. Если example.com/something возвращает 404 ошибку, то и example.com/something/ должен и будет.
Признаться, господа, я в результате Вашего спора так и не понял как мне решить задачу.
Этот вариант ^/(.+)/$ норм?
Валерий Рябошапко: нет, просто в контроллере адрес заканчивается без /, однако, на прежнем сайте по тому же адресу страницы существовали с / на конце. Соответственно, получаем 404 ошибку от гугла/яндекса при переходах на старые урлы. Нужно поставить редирект...
ShamblerR: блин, разговор глухого со слепым. На какой вопрос Вы мне ответили "да"? Кроме того, не вижу разницы с точки зрения клиента, сразу он получит код состояния 404, или после цепочки перенаправлений из-за 301 кода.
Петр: да, для такой малой задачи одного правила достаточно. Правда, при условии, что Вы не предполагаете показывать содержимое директорий пользователям. А то откроет он example.com/uploads/ чтобы список загрузок увидеть, а его в движок пошлют.