Qairat
@Qairat
frontend developer, angular 2+

Как правильно переадресовать адрес в .htaccess?

Надо сделать так чтобы если запрос идет на /api то перенаправить на index.php,
если просто зашел на сайт то на index.html
Вот файлы в папке
5a9e9ff4568a6545356045.png

и вот что я прописал в htaccess файл
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.html [L]

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^api index.php [L]


</IfModule>


Открывается когда захожу на сайт, index.php. Где ошибка? Как правильней перенаправлять?
  • Вопрос задан
  • 22 просмотра
Пригласить эксперта
Ответы на вопрос 1
shambler81
@shambler81 Куратор тега htaccess
1. поменяй приоритет принудительного индексного файла на html, как правило php имеет больший приоритет
DirectoryIndex index.html index.php

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^api index.php [L]

должен находиться над основным чпу
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы