Если сервер может выполнять код PHP, вы можете сделать это.
В основном, в файле .htaccess вы используете RewriteRule для отправки всех путей к сценарию PHP на вашем сервере,Например, запрос на /somedir/anotherdir/core.js
становится /my-script.php/somedir/anotherdir/core.js
.Так работают многие фреймворки приложений.Когда my-script.php запускается, «реальный» путь находится в переменной PATH_INFO.
С этого момента скрипт может получить файл из GitHub.Если бы это был HTML, JavaScript или изображение, он мог бы просто передать его клиенту.(Тем не менее, чтобы сделать все правильно, вы также захотите передать все правильные заголовки, такие как ETag и Last-Modified, а затем также проверить эти файлы, чтобы кэширование работало правильно и вы не тратили много временипередача файлов, которые не нужно переносить снова и снова. В противном случае ваш сайт будет работать очень медленно.)
Если файл представляет собой файл PHP, его можно загрузить локально, а затем include
всценарий для его выполнения.В этом случае, однако, вам нужно убедиться, что каждый PHP-файл является автономным, потому что вы еще не знаете, какие файлы были извлечены из GitHub, поэтому, если один файл содержит другой, вам нужно убедиться, что файлы зависят отпервый файл тоже скачивается.И файлы, зависящие от этих файлов, также.
Итак, короче говоря, часть .htaccess очень проста, это всего лишь один RewriteRule.Сложность заключается в PHP-скрипте, который выбирает файлы из GitHub.И если вы просто сделаете простейшую вещь, возможно, ваш сайт может не работать, или он будет работать, но очень болезненно медленно .И если вы проделаете кучу гениального уровня работы над этим сценарием, вы можете заставить его работать нормально.
Теперь, какая здесь цель?Чтобы избавить себя от необходимости заходить на сервер и вводить git pull
для обновления файлов сервера?Я надеюсь, что убедил вас, что попытка получить файлы по требованию с GitHub будет еще более сложной задачей .