Routing .htaccess to GitHub
Routing .htaccess to GitHub
我想知道是否有一种方法基本上在你的服务器上托管一个网站,这样你就可以运行PHP,但实际的代码托管在GitHub上。换句话说,
如果一个HTTP请求转到:
http://mysite.com/docs.html
它会请求并拉入内容(通过file_get_contents()
或其他东西):
https://raw.github.com/OscarGodson/Core.js/master/docs.html
或者,如果他们去了:
http://mysite.com/somedir/another/core.js
它会向下拉:https://raw.github.com/OscarGodson/Core.js/master/somedir/another/core.js
我知道GitHub有自己的DNS服务器,但我宁愿把它放在我的主机上,这样我就可以运行服务器端代码。htaccess代码是什么样子的呢?
如果需要在yourserver.com上的服务器上运行github.com上存储的HTML中嵌入的PHP,只需在.htaccess文件中添加一个重定向这样的配置行,这就超出了.htaccess文件的能力。
.htaccess文件通常用于向Apache web服务器提供指令。例如,这些指令可以指示访问权限、弹出式密码保护、URL和服务器文件系统之间的链接、服务器在交付给浏览器之前获取某些类型文件的处理程序,以及从一个URL重定向到另一个URL。
.htaccess文件可以将http://mysite.com/somedir/another/core.js重定向到https://raw.github.com....但是浏览器会指向raw.github.com,而不是mysite.com。可以用帧做一些技巧,使这种重定向对浏览器中的人来说不那么透明……但这些并不影响数据来自github.com而不去服务器在mysite.com
特别地,PHP标签嵌入在github.com上的HTML永远不会被mysite.com的服务器接收,因此不会运行。可能不是你想要的。除非在Apache中发生了一些大的变化,否则。htaccess文件不会设置该工作流。这可能是一些专家写一个apache模块来做到这一点,但我不确定。
你能做的就是在mysite.com上放一个cron job, git每隔几分钟从github.com上拉出来。也许这就是你想做的?
如果服务器可以运行PHP代码,则可以执行此操作。
基本上,在.htaccess文件中,您使用rewriterrule将所有路径发送到服务器上的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中获取了哪些文件,因此,如果一个文件包含另一个文件,则需要确保也下载了依赖于第一个文件的文件。以及依赖于这些文件的文件。
现在,这里的目标是什么?为了节省登录到服务器并输入git pull
来更新服务器文件的麻烦?我希望我已经说服了你,试图从GitHub上按需获取文件将会比更麻烦。
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- jQuery AJAX write to XML
- 通过另一个php应用程序将我的项目推送到Github存储库中
- grep in JQuery to C#
- how to convert html <div> to pdf
- Node.js - POST to iFrame?
- SVG xml to image
- Advantages to DOMParser vs template & innerHTML
- how to split a string with ','
- How to declare a Map containing certain properties with flow
- Php variable obj to js
- 如何在submit to sightly时将表单输入值作为参数传递给WCMUsePojo
- D3JS selectAll to append rect
- Javascript connect to websocket
- Underscore each to update collection
- 在哪里可以找到R-to-JavaScript编译器
- SCEditor BBcode to HTML parsing
- Javascript RegEx to XML Schema RegEx
- How to apply javascript on <asp:Buttonfield>?
- Routing .htaccess to GitHub