Как убрать index.php из урла?

Для главной страницы использую следующее правило:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ 
RewriteRule ^index\.php$ http://site.ru/ [R=301,L]

но при этом со страниц типа site.ru/uslugi/index.php на site.ru/uslugi (без index.php) у меня не делается. Подскажите, как это можно сделать?
  • Вопрос задан
  • 6844 просмотра
Решения вопроса 1
@ShamblerR
RewriteEngine On
            # Директива включает редиректы.
RewriteBase /
  # Без директивы (.*) = /$1 будет /var/wwww/site/$1 с ней = /$1


############################################################################
####  Убираем index.php, если он есть в конце URL                       ####
############################################################################
RewriteCond %{REQUEST_METHOD} =GET
            #Выявляем GET запрос в URL (не POST)
RewriteCond %{REQUEST_URI} ^(.*)/index\.php$
            #URL cодержит index.php в конце.
RewriteRule ^(.*)$ %1/ [R=301,L]
            #Удалить index.php из URL.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@mydarck Автор вопроса
При этих правилах редирект происходит, но url c site.ru/uslugi/ меняется на site.ru/?q=uslugi/. Как быть?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы