Size: a a a

2021 July 12

К

Камиль in Evolution CMS
вот что у меня сейчас
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\/]+?)$ $1.html [NC,L,S]
RewriteRule ^([^\/]+?)/([^\/]+?)$ $1.html [NC,L,S]
RewriteRule (.+)/$ /$1 [L,R=301]
источник

К

Камиль in Evolution CMS
если можете и флаги подправить, то буду благодарен :)
источник

ON

Oleg Nosov in Evolution CMS
Спасибо, это очень похоже как раз то, что нужно. Как минимум у меня локальный пакет увиделся, установился. Правда вызвать функцию из класса пока не получается.
источник

SV

Serguei VeseloV in Evolution CMS
"RewriteRule ^([^\/]+?)$ $1.html [NC,L,S]" - мне вот это не нравится. Это подойдет под любой адрес, не содержащий слеша. И будет редирект на такой же адрес, но с приписыванием к нему .html. Если такой страницы нет, то сервер зпускает обработку 404 ошибки, натыкается сноа на эту конструкцию и сходит с ума.
источник

SV

Serguei VeseloV in Evolution CMS
Регулярные выражения всегда проще писать, чем читать, есть такой хитрый изврат ума. То есть если что-то становится непоняным - комментируем его, и пытаемся написать заново, символ за символом. :) Я бы закомментил всё, и оставил только самое первое выражение. Протестировал с таким файлом не только адрес, на который оно рассчитано, но и те, кторые не должны на него попадать - в идеале у первых должен быть правильный редирект, у вторых 404 ошибка. Далее добавляем второе выражение после него (Убедившись, что у предыдущего есть флаг L), и  тестируем снова все группы адресов. Я по самим выражениям не могу понять, корректны ли они, так как не понимаю вашей задачи - какие адреса во что вы хотите преобразовать.
источник

К

Камиль in Evolution CMS
есть несколько файлов html, которые должна работать без .html
источник

К

Камиль in Evolution CMS
так же они должны быть роутами
источник

SV

Serguei VeseloV in Evolution CMS
Вот смотрите, первое же выражение дает вот такие преобразования, все их нх регулярка пропустит и совершит:
1)
stroka_bez_slesha -> stroka_bez_slesha.html
stroka_bez_slesha.html -> stroka_bez_slesha.html.html
stroka_bez_slesha.html?param=1 -> stroka_bez_slesha.html?param=1.html
Это именно так планировалось?
источник

К

Камиль in Evolution CMS
т.е. допустим есть файлы main.html, text.html и пути обращения к ним следующие /main, /main/test1, /text, /text/test1
источник

К

Камиль in Evolution CMS
планировалось вырезать .html и оставить только название
источник

К

Камиль in Evolution CMS
RewriteRule ^([^\.]+)$ $1.html [NC,L] так правильней?
источник

SV

Serguei VeseloV in Evolution CMS
Так. Запутслася. main.html у вас реальный файл, а в адресной строке он должен быть доступен как /main, так?
источник

К

Камиль in Evolution CMS
всё крч разобрался)) спасибо
источник

К

Камиль in Evolution CMS
волшебный чат
источник

К

Камиль in Evolution CMS
вот так работает как надо. да main реальный файл
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\/]+?)/([^\/]+?)$ $1.html [NC,L]

RewriteRule (.+)/$ /$1 [L,R=301]
источник

SV

Serguei VeseloV in Evolution CMS
Это соответствует любому адресу, не содержащему  точки.
источник

К

Камиль in Evolution CMS
и так же при обращении по /main/awdwad тоже должно идти всё к main.html
источник

SV

Serguei VeseloV in Evolution CMS
Ну вот, а вы переживали. Даже в директивах .htaccess разобрались типа REQUEST_FILENAME -f -d и т.д. , я до этого не дошел пока, втупую адрес  регулярками в лоб парсю :)
источник

SV

Serguei VeseloV in Evolution CMS
RewriteRule ^([^\/]+?)/([^\/]+?)$ $1.html - а вот тут у вас вторая часть после  слеша вообще отбрасывается, она точно не нужна нигде?
источник

МЛ

Мария Ленина... in Evolution CMS
Вопрос. Подскажите решение, которое позволить реализовать такую штуку как отображение элементов вывода колонками или строками
источник