Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将Zend Framework 2与IIS6上的虚拟目录一起使用?_Php_Iis 6_Rewrite_Zend Framework2_Iirf - Fatal编程技术网

Php 如何将Zend Framework 2与IIS6上的虚拟目录一起使用?

Php 如何将Zend Framework 2与IIS6上的虚拟目录一起使用?,php,iis-6,rewrite,zend-framework2,iirf,Php,Iis 6,Rewrite,Zend Framework2,Iirf,我正在尝试建立Zend Framework 2环境,但没有成功。 我一直遵循这些指示: 一个区别是,我正在尝试将其安装到虚拟目录中。 一个示例URL是: http://localhost/12345678/index/index 我已通过键入以下内容进入“欢迎使用Zend Framework 2”页面: http://localhost/12345678/index.php/ 出于某种原因,结尾的斜杠很重要,否则页面将无法加载,我不知道为什么?我希望下面的链接能起作用,但它不起作用: ht

我正在尝试建立Zend Framework 2环境,但没有成功。 我一直遵循这些指示:

一个区别是,我正在尝试将其安装到虚拟目录中。 一个示例URL是:

http://localhost/12345678/index/index
我已通过键入以下内容进入“欢迎使用Zend Framework 2”页面:

http://localhost/12345678/index.php/
出于某种原因,结尾的斜杠很重要,否则页面将无法加载,我不知道为什么?我希望下面的链接能起作用,但它不起作用:

http://localhost/12345678/
因为我们别无选择,只能使用IIS 6,所以我尝试在URL上使用Ionics重写过滤器,但没有成功。到目前为止,我尝试的是:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*$ index.php [NC,L]
and
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/(\d*)/(.*) /$1/index.php/ [L,QSA]
and
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*$ /12345678/index.php/ [NC,L]
我似乎能够进入欢迎页面和一般404错误页面(而不是Zend 404)。我无法访问测试控制器页面,甚至无法访问zend错误页面。 有谁能帮我找出Ionics IIRF.ini文件使用的重写规则,它允许我将Zend Framework 2与虚拟目录一起使用,或者为我指出错误的方向

提前感谢

我已经解决了这个问题,重新开始并遵循本教程,省去了Apache的内容:

http://samminds.com/2012/07/zend-framework-2-installation-on-xampp-for-windows/

我不完全确定它为什么工作,但IIS似乎正在读取.htaccess文件,这很好。当然,这让我想到了其他问题,但这个问题已经为我解决了:)。我没有用这个回答我自己的问题,因为我觉得我所做的不是解决我问题的正确方法。

你看过ISAPI重写模块bij Helicon吗? 它支持Apache mod_重写规则语法。我以前在ZF 1上使用过这个模块,它工作起来很有魅力。
有一个免费版本有一些限制:

谢谢你的建议。我已经尝试安装Helicon,但仍然遇到同样的问题。我觉得我不能访问,我可以访问这一事实是找出我的问题所在的关键。您的新htaccess文件是什么样子的,因为您原始问题中的第一个似乎没有太多意义,并且不是zf2应用程序的标准htaccess文件的样子。您是否使用了框架应用程序附带的htaccess?我将其作为模板附带的默认设置:RewriteCond%{REQUEST_FILENAME}-s[或]RewriteCond%{REQUEST_FILENAME}-l[或]RewriteCond%{REQUEST_FILENAME}-d RewriteRule^.$-[NC,l]RewriteCond%{REQUEST_URI}:$1^(/.+)(.+):\2$rule^(.*)-[E=BASE:%1]RewriteRule^(.*)${ENV:BASE}index.php[NC,L]好的,只是为了确保:您的虚拟目录指向公用文件夹,对吗?很好的调用,但确实如此。如果不是这样,我将无法访问localhost/12345678/index.php/,我可以访问,但无法访问localhost/12345678/index.php/