Composer Web 应用程序文件夹结构
Composer web application folder structure
我正在开发一个应用程序,该应用程序将存在于 Web 根目录的子目录中。我的应用程序文件夹结构是:
website root/
|- index.php
|- my-application/
|- src/
|- index.php
|- tests/
|- vendor/
|- .gitignore
|- composer.json
|- phpunit.xml
据此Whosebug question,src目录应该在根目录下。在这种情况下这是不可能的。
除此之外,在安装此应用程序时,应用程序的索引现在位于应用程序文件夹的 src 文件夹中。这意味着 url 将是 localhost/application/src/index.php.
如何为应用程序索引文件 localhost/application/index.php 创建 url?
我无法控制 webroot。
您的源文件布局应始终包含一个 "src"(或 "lib" 或您想要的任何名称)文件夹,其中包含所有必要的源代码,可能是一个 "vendor" 文件夹其中包含第 3 方代码和一个 "webroot" 文件夹,该文件夹是此设置中唯一将通过 Web 服务器公开的文件夹。例如:
myapp/
src/
Acme/
MyApp/
...
vendor/
...
webroot/
index.php
css/
...
js/
...
您可以将此文件夹存储在任何您喜欢的位置。最后,您将 Web 服务器配置为服务 myapp/webroot/
。您可以通过以下方式做到这一点:
将该文件夹符号链接到 Web 服务器的文档根目录中:
/var/www/myapp -> /usr/local/myapp/webroot
使用 mod_rewrite 指令相应地重写请求:
RewriteRule /theapp/(.*) /usr/local/myapp/webroot/
相应地配置 Web 服务器的核心以提供应用程序目录中的某些 URL:
Alias /theapp /usr/local/myapp/webroot
# or whatever other way you prefer
您不需要以任何方式将文件完全按照 URL 显示的方式存储在文件系统中。处理 URL 和文件 and/or 编程响应之间的这种解析是 Web 服务器的工作,并且它提供了许多工具来使其尽可能灵活。使用这些工具。
我正在开发一个应用程序,该应用程序将存在于 Web 根目录的子目录中。我的应用程序文件夹结构是:
website root/
|- index.php
|- my-application/
|- src/
|- index.php
|- tests/
|- vendor/
|- .gitignore
|- composer.json
|- phpunit.xml
据此Whosebug question,src目录应该在根目录下。在这种情况下这是不可能的。
除此之外,在安装此应用程序时,应用程序的索引现在位于应用程序文件夹的 src 文件夹中。这意味着 url 将是 localhost/application/src/index.php.
如何为应用程序索引文件 localhost/application/index.php 创建 url?
我无法控制 webroot。
您的源文件布局应始终包含一个 "src"(或 "lib" 或您想要的任何名称)文件夹,其中包含所有必要的源代码,可能是一个 "vendor" 文件夹其中包含第 3 方代码和一个 "webroot" 文件夹,该文件夹是此设置中唯一将通过 Web 服务器公开的文件夹。例如:
myapp/
src/
Acme/
MyApp/
...
vendor/
...
webroot/
index.php
css/
...
js/
...
您可以将此文件夹存储在任何您喜欢的位置。最后,您将 Web 服务器配置为服务 myapp/webroot/
。您可以通过以下方式做到这一点:
将该文件夹符号链接到 Web 服务器的文档根目录中:
/var/www/myapp -> /usr/local/myapp/webroot
使用 mod_rewrite 指令相应地重写请求:
RewriteRule /theapp/(.*) /usr/local/myapp/webroot/
相应地配置 Web 服务器的核心以提供应用程序目录中的某些 URL:
Alias /theapp /usr/local/myapp/webroot # or whatever other way you prefer
您不需要以任何方式将文件完全按照 URL 显示的方式存储在文件系统中。处理 URL 和文件 and/or 编程响应之间的这种解析是 Web 服务器的工作,并且它提供了许多工具来使其尽可能灵活。使用这些工具。