我的电脑上安装了 Zend Framework,当我在 Index Controller 中添加一些操作时,出现 404 错误,但如果我在另一个控制器(比如 TestController)上写一些操作,文件将被发送到浏览器。我的 apache2.conf 配置为:
# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives. See also the
# directive.
#
AccessFileName .htaccess
#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy all
我对 etc/apache2/sites-available/default 的配置是:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我对 /etc/apache2/sites-enabled/zendexample.local 的配置是: DocumentRoot“/var/www/ZendExample/public” ServerName ZendExample.local
# This should be omitted in the production environment
SetEnv APPLICATION_ENV development
<Directory "/var/www/ZendExample/public">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
对于 etc/apache2/sites-available/zendexample.local 来说代码是相同的。在命令 sudo a2enmod rewrite 中答案是:模块重写已经启用。我向 apache 服务器发出重新启动和重新加载命令。
在文章的最后,我重复一下 404 错误,它只出现在 IndexController 操作(根路径)上,如果我将相同的代码放在其他控制器中(使用相同的模型)并在脚本中隐式创建一个新文件夹(测试),一切似乎都进展顺利。
答案1
我有同样的问题,刚刚安装了 Ubuntu 13.04,之前的操作系统 Fedora 19 都运行正常,但出现了这个问题!我看到你 3 个月前发布了这个帖子,你现在有解决方案了吗?
// 致管理员,抱歉。
我有一些解决方案,OS 13.04 有 apache 2.2,最新版本的 xampp 有 apache 2.4
我安装了 xampp 并且 /index WORK!我认为问题出在 apache 配置中,但是现在我不知道,对我来说最好的解决方案是使用 xampp。