Удалить 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]

Проверить работоспособность этого правила можно здесь.
Если требуется чуть другой паттерн, то, я думаю, для вас уже не составит труда переделать пример.

→ Ссылка