Php Can';Zend框架中的t访问控制器nore操作
在我的Zend Framework项目中,我有以下基本URLPhp 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
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]