У меня есть статическая страница, размещенная на страницах GitHub (http://user.github.io/repo/
) и зарегистрированный домен с хостингом (mydom.com
).Несколько прокси RewriteRules в .htaccess
Я хочу настроить .htaccess
на mydom.com
, поэтому все запросы будут перенаправляться на страницы GitHub через прокси-сервер (сохранить mydom.com
в адресной строке). Сначала я попробовал:
RewriteCond %{HTTP_HOST} mydom\.com$ [NC]
RewriteRule ^(.*)$ http://user.github.io/repo/$1 [P,L,NE]
Это работает для большинства запросов, за исключением корня http://mydom.com/
, GitHub возвращает 404 Явно указав, что требуется индексный файл. Если я укажу явно mydom.com/index.html
, он будет работать. Как ни странно, если я заменяю флаг прокси [P]
с флагом перенаправления [R]
, тогда запрос root отлично работает. (Не понимаю, почему)
Естественно, я добавил правило для корневого запроса:
RewriteCond %{REQUEST_URI} ^$
RewriteRule ^$ http://user.github.io/repo/index.html [P,L,NE]
Но оба правила не работают вместе, как ожидалось. И вот где выходит странная часть. Если я оставляю корневое правило самостоятельно, то запрос root перенаправляется на user.github.io/repo/index.html
, как и ожидалось, но остальные ресурсы (/css/*
, /js/*
) не выбраны. Понял. Но если я включу оба правила, то корневое правило перестанет работать (тот же GitHub 404 возвращается для запроса root). Все остальное перенаправляется через прокси без проблем.
Почему это так выглядит? Как я могу решить эту проблему?
Я настраиваю '.htaccess' на виртуальном хосте, а не на страницах GitHub. Извините, за путаницу – nazikus