Heim >Backend-Entwicklung >PHP-Tutorial > :zend framework在地址:http://127.0.0.1/zf/index,不能成功

:zend framework在地址:http://127.0.0.1/zf/index,不能成功

WBOY
WBOYOriginal
2016-06-13 13:51:34885Durchsuche

求救:zend framework在地址:http://127.0.0.1/zf/index,不能成功?
今天开始学习zend framework,按照网上大牛的文章,将zend framework安装好后,
试着应用的时候,却发现了这样的问题:
  输入地址:http://127.0.0.1/zf可以执行(zf为zend framework的工作目录,application,library等文件夹都在该目录下)。
  但输入http://127.0.0.1/zf/index,http://127.0.0.1/zf/index/index,均不能执行,不知道是上面原因??高手帮忙。


还有资料说:http://127.0.0.1/zf/test/view这样的地址,test是控制器,view是action,那么若输入这个地址,则zend framework将会从application\controllers下找文件TestController.php(不清楚这个文件名是不是一定要这样)中的类TestController,然后执行该类下的方法:testAction()。
  那zend framework为什么会将test当作控制器,view当做action呢?假如我的目的是想执行/test/view下的index.php,那不是不能执行这个index.php了吗? 太乱了,高手指点一下,多谢。

------解决方案--------------------
不考虑url重写等因素。

http://127.0.0.1/zf 默认情况相当于 http://127.0.0.1/zf/index.php吧

http://127.0.0.1/zf/index相当于http://127.0.0.1/zf/index/index.php


当然默认首页可以随意指定,我是说一般情况


------解决方案--------------------
你google 查查 urlrewrite url重写技术

估计就是你要找的东西吧
------解决方案--------------------
RewriteRule .* index.php

.htaccess文件在哪里?

这个规则会将.htaccess包含该目录的所有连接,都映射指index.php

比如
web根目录/info/……
.htaccess在info目录

那么http://localhost/info/DDDD/i/n/d/e/x……
http://localhost/info/123123123

都映射至http://localhost/info/index.php
------解决方案--------------------
先把别的规则屏蔽了

RewriteRule ^index\.html$ index\.php [L]

确认,zf目录下有index.php

访问

http://127.0.0.1/zf/index.html =》结果是index.php的内容

如果这都不生效,说明rewrite引擎没启动
------解决方案--------------------
你的重写规则要考虑同一目录下的所有文件名的规律
------解决方案--------------------
注意:httpd.conf里有3个AllowOverride None改为AllowOverride All,你可能只改了1个

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn