在公共html文件夹外访问php代码

在公共html文件夹外访问php代码,php,html,twitter-bootstrap,Php,Html,Twitter Bootstrap,我正试图建立一个新的网站,使用Twitter引导作为前端,PHP作为后台代码 我使用的目录结构如下所示,相当标准 c:\xampp\htdocs\app c:\xampp\htdocs\app\application\configs c:\xampp\htdocs\app\application\modules c:\xampp\htdocs\app\data\ c:\xampp\htdocs\app\data\logs c:\xampp\htdocs\app\data\sessions c:\

我正试图建立一个新的网站,使用Twitter引导作为前端,PHP作为后台代码

我使用的目录结构如下所示,相当标准

c:\xampp\htdocs\app
c:\xampp\htdocs\app\application\configs
c:\xampp\htdocs\app\application\modules
c:\xampp\htdocs\app\data\
c:\xampp\htdocs\app\data\logs
c:\xampp\htdocs\app\data\sessions
c:\xampp\htdocs\public_html\
c:\xampp\htdocs\public_html\css
c:\xampp\htdocs\public_html\js
c:\xampp\htdocs\public_html\img
我的Apache配置相当简单,包括

<VirtualHost *:80>

ServerName vinner.localhost
DocumentRoot C:/xampp/htdocs/app/public_html
SetEnv APPLICATION_ENV "development"
<Directory C:/xampp/htdocs/app/public_html> 
    DirectoryIndex index.php index.html index.htm \
               default.php default.asp default.shtml default.html default.htm \        AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

ServerName vinner.localhost
DocumentRoot C:/xampp/htdocs/app/public\u html
SetEnv应用程序_ENV“开发”
DirectoryIndex.php index.html index.htm\
default.php default.asp default.shtml default.html default.htm\AllowOverride All
命令允许,拒绝
通融


以前我把PHP代码放在/public_html文件夹中,但这显然不是很好的练习,所以我将其移到了c:\xampp\htdocs\app\application\modules,但是我不知道如何将POST查询直接指向PHP页面,或者创建一个通用PHP模板/包含文件,以便轻松访问我的PHP页面。

在“public\u html”目录中应该有一个文件,通常称为“index.PHP”。然后,您的web服务器规则(例如,htaccess或服务器配置)将所有请求(或者可能不是针对“public_html”中存在的文件的所有请求)指向该“public_html/index.php”。这通常是“public_html”下唯一的PHP文件,但有时可能有多个用于不同目的的文件(例如,用于提供图像的不同文件)

在此基础上,您可以使用相对路径包含其余代码,以下每一项都是等效的(“public_html/index.php”中的代码):

以及:


其中“应用程序代码”是应用程序的入口点,通常命名为“bootstrap.php”。

为什么php在
public\u html
之外?任何用于处理直接输入或直接输出内容的php文件都应该在
public\u html
中,其他任何文件都应该在webroot包含的库之外,等你不应该把所有东西都搬到外面去,因为那样做毫无意义。@crypticツ, 为什么不呢?把.js或.css文件放在webroot中,然后里面的最小代码(比如index.php)引用外部的.php文件肯定会很好用?@Chud37我想你误解了我,因为这就是我的意思。
include __DIR__ . '/../application/[application-code].php';
include dirname(__DIR__) . '/application/[application-code].php';