Php 如何删除“;公共/";从…起http://localhost/myscript/public/ 在Zend框架中
默认情况下,可以使用此url访问我的脚本。 但我需要通过这个url访问它。 如何在Zend Framework中做到这一点。公共文件夹是Zend Framework的一个重要关键功能,因为它将Apache限制为仅读取该目录中的文件,如果使用得当,将使所有其他代码不在公共可见范围内。如果您确实要安装整个应用程序,并且必须执行/public/index.php才能到达您想要的位置,那么您应该意识到这一点 通常,在共享主机配置中,您的站点将有一个公用文件夹,并将公用文件夹与应用程序的其余部分分开。比如说,你的目录中有一个“public_html”文件夹,这是你所在域的可见文件夹。然后,按照这个逻辑,你不需要把所有你想要的东西都放进你的主目录,而是把你的应用程序“安装”到一个定制的子目录“zend_app”中。您可以将文件从“public”复制到“public_html”文件夹中,将其余文件复制到“zend_app”文件夹中,并相应地自定义index.php文件,例如:Php 如何删除“;公共/";从…起http://localhost/myscript/public/ 在Zend框架中,php,zend-framework,url,Php,Zend Framework,Url,默认情况下,可以使用此url访问我的脚本。 但我需要通过这个url访问它。 如何在Zend Framework中做到这一点。公共文件夹是Zend Framework的一个重要关键功能,因为它将Apache限制为仅读取该目录中的文件,如果使用得当,将使所有其他代码不在公共可见范围内。如果您确实要安装整个应用程序,并且必须执行/public/index.php才能到达您想要的位置,那么您应该意识到这一点 通常,在共享主机配置中,您的站点将有一个公用文件夹,并将公用文件夹与应用程序的其余部分分开。比如
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../zend_app/application'));
大多数其他zend配置都是从该定义派生的,因此从该定义构建是相当安全的。如果在配置应用程序时牢记这一点,您可以帮助保持这种可移植性。从理论上讲,使用它,您应该能够构建一个能够满足您需求的配置
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../zend_app/application'));
大多数其他zend配置都是从该定义派生的,因此从该定义构建是相当安全的。如果在配置应用程序时牢记这一点,您可以帮助保持这种可移植性。从理论上讲,使用它,您应该能够构建一个能够满足您需求的配置
set_include_path(‘.’
. PATH_SEPARATOR . get_include_path()
. PATH_SEPARATOR . ‘../library’
. PATH_SEPARATOR . ‘../application/classes/’
. PATH_SEPARATOR . ‘../application/models/’
把它换成这个
set_include_path(‘.’
. PATH_SEPARATOR . get_include_path()
. PATH_SEPARATOR . ‘library’
. PATH_SEPARATOR . ‘application/classes/’
. PATH_SEPARATOR . ‘application/models/’
但也要检查其他路径,比如这条
需要一次'Zend/Controller/Front.php'
已从此页面获取此教程:)
德语…只需将公用文件夹中的所有文件放入根文件夹即可 然后打开index.php或bootstrap.php,您可以在其中找到这些代码
set_include_path(‘.’
. PATH_SEPARATOR . get_include_path()
. PATH_SEPARATOR . ‘../library’
. PATH_SEPARATOR . ‘../application/classes/’
. PATH_SEPARATOR . ‘../application/models/’
把它换成这个
set_include_path(‘.’
. PATH_SEPARATOR . get_include_path()
. PATH_SEPARATOR . ‘library’
. PATH_SEPARATOR . ‘application/classes/’
. PATH_SEPARATOR . ‘application/models/’
但也要检查其他路径,比如这条
需要一次'Zend/Controller/Front.php'
已从此页面获取此教程:)
德语…只需使用您的Web服务器创建一个virtualhost,并将其配置为使用文件夹“public”作为文档根目录,您就会安全无虞。只需使用您的Web服务器创建一个virtualhost,并将其配置为使用文件夹“public”作为文档根目录,您将安全无虞。哇,这真是太疯狂了!!!!不要这样做,这将导致许多安全漏洞!!!请看我的答案以获得正确答案soloution@zolex是的,但在我的主机上,我不能直接使用公用文件夹。。。所以我必须这样使用它。或者,如果您有两个应用程序,第一个是domain.com/first/和第二个domain.com/second,您将如何执行此操作???只需正确配置apache^^在本地服务器上执行此操作没有问题,但不是每个“公共”服务器让你这么做…@Fincha:为什么你要在这样一个不允许正确配置的糟糕服务器上使用这么好的框架呢?。。。更改您的提供商^^^哇,这太疯狂了!!!!不要这样做,这将导致许多安全漏洞!!!请看我的答案以获得正确答案soloution@zolex是的,但在我的主机上,我不能直接使用公用文件夹。。。所以我必须这样使用它。或者,如果您有两个应用程序,第一个是domain.com/first/和第二个domain.com/second,您将如何执行此操作???只需正确配置apache^^在本地服务器上执行此操作没有问题,但不是每个“公共”服务器让你这么做…@Fincha:为什么你要在这样一个不允许正确配置的糟糕服务器上使用这么好的框架呢?。。。更改您的提供商^^您应该检查是否有更好的解决方案,您选择的答案会导致许多安全风险!你为什么要以理智的名义这么做?正如@zolex所强调的,这不是一个好主意。这是可能的(显然),但不明智。嗯,什么?虚拟主机是解决此问题的唯一正确方法;)在生产系统上,除了可通过http访问的公用文件夹外,您永远不会有其他任何东西,否则您将很容易成为漏洞攻击和其他行为的受害者……这意味着,如果您不想在ie中重写整个应用程序,直接在域上运行它,就像您应该听我说的一样;)您真的应该检查一个更好的解决方案,您选择的答案会导致许多安全风险!你为什么要以理智的名义这么做?这是,正如我所强调的那样