Удалить index.php из url
https://site.ru/index.php/news-3750
RewriteEngine On
RewriteBase /
RewriteRule ^news-([^/]*)$ index.php?do=news&po=$1 [QSA]
Не понимаю, как исправить, заставить подобные url
https://site.ru/index.php/news-3750
перенаправлять на
https://site.ru/news-3750
Кажется все возможные варианты что в интернете есть, перепробовала, ни одно не спасает...
# Удаление index.php c конца
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ [NC,OR]
# С wwww на без
RewriteCond %{HTTP_HOST} ^www\..+ [NC,OR]
# Удал.повтр //
RewriteCond %{THE_REQUEST} // [NC,OR]
# С http на https
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^(.*) https://site.ru/$1 [R=301,L]
Ответы (1 шт):
Автор решения: void
→ Ссылка
Я так думаю, для вас важна "зацепка" по шаблону вида /index.php/news-здесь цифры
- просто по вашей фразе "подобные url" невозможно четко понять, что является для вас "подобным" - /index.php/news-здесь цифры
или целиком /index.php/что-то здесь
.
Поэтому, код ниже описывает rewrite для /index.php/news-здесь цифры
.
RewriteEngine on
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^index\.php/news\-(\d{1,})$ /news-$1? [L]
Проверить работоспособность этого правила можно здесь.
Если требуется чуть другой паттерн, то, я думаю, для вас уже не составит труда переделать пример.