Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.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 Can';Zend框架中的t访问控制器nore操作_Php_Zend Framework - Fatal编程技术网

Php Can';Zend框架中的t访问控制器nore操作

Php Can';Zend框架中的t访问控制器nore操作,php,zend-framework,Php,Zend Framework,在我的Zend Framework项目中,我有以下基本URL http://domain/~myFolder 如果我这样访问它,我可以毫无问题地访问indexAction,但是如果我尝试这样显式地访问它: http://domain/~myFolder/index 我不能,也不能访问不同的控制器或操作。 它总是说 /public/index.php was not found on this server. 如何访问项目中的不同控制器和操作?我需要添加路线吗 根据以下内容更改.htacc

在我的Zend Framework项目中,我有以下基本URL

http://domain/~myFolder
如果我这样访问它,我可以毫无问题地访问indexAction,但是如果我尝试这样显式地访问它:

http://domain/~myFolder/index 
我不能,也不能访问不同的控制器或操作。 它总是说

/public/index.php was not found on this server.

如何访问项目中的不同控制器和操作?我需要添加路线吗

根据以下内容更改
.htaccess
文件的内容

发件人:

您可能会注意到,应用程序环境常量值查找 环境变量“APPLICATION_ENV”。我们建议设置此选项 在web服务器环境中。在Apache中,您可以在 您的vhost定义,或在.htaccess文件中。我们推荐 public/.htaccess文件的以下内容:


我可以通过将控制器名称放在
index.php
后面来访问控制器页面:

ie:
yoursite/public/index.php/ControllerName


它在我的情况下起作用。

检查
public
的文件夹权限,以及
.htaccess
是否存在且可写。默认情况下,apache会将
.php
添加到一个不存在的文件中,如
索引
,如果找不到任何一个,它会抛出一个404错误,我该如何解决这个问题。htaccess是只读的,不需要对.htaccess文件具有写入权限。您的问题是由于您的脚本位置。您应该将这一行
RewriteBase/~myFolder/
添加到上的
重写引擎的正下方。不过,为您的新环境创建虚拟主机是一种很好的做法。谢谢,如果您愿意,您可以将此作为答案,这样我就可以将其标记为已接受
SetEnv APPLICATION_ENV development

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]