我是ZF2的新手。我使用虚拟主机在本地计算机上开发了我的小应用程序。我希望在没有虚拟主机的情况下运行此站点。
我的文件夹目录结构是这样的:
-ProjectName
-config
-module
-vendor
- zendframework
-public
- css
- img
- JS
- index.php
Index.php文件:
<?php
/**
* This makes our life easier when dealing with paths. Everything is relative
* to the application root now.
*/
chdir(dirname(__DIR__));
// Decline static file requests back to the PHP built-in webserver
if (php_sapi_name() === 'cli-server' && is_file(__DIR__ . parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH))) {
return false;
}
// Setup autoloading
require 'init_autoloader.php';
// Run the application!
Zend\Mvc\Application::init(require 'config/application.config.php')->run();
对于访问CSS或Image我一直使用$ this-&gt; basePath()前置来获取它。
如果我写这样的URL,我的应用程序可以正常工作:
localhost / projectname / public / modulename
但我不想在网址中使用public。如何在网址中没有“公共”的情况下调用我的项目。
答案 0 :(得分:0)
将文件夹ProjectName
放在Web服务器文档根目录之外的某处,并在其中创建指向公共文件夹的符号链接。
例如,如果您的Web服务器文档为root:
/var/www/html
将您的项目置于
/var/www
并制作simlink
/var/www/html/ProjectName -> ../ProjectName/public
如果你在Windows操作系统下工作,它的方式大致相同。
对于您的情况,请执行以下步骤:
假设您的用户名是USERNAME,您的wamp磁盘位置是D:。执行命令:
C:\Users\USERNAME> d:
D:\> cd wamp\www
D:\wamp\www> mklink /D projectname D:\wamp\www\projectname\public
之后,您可以尝试通过URL访问您的项目:
http:\\localhost\projectname