我使用
创建了一个新的控制器zf Create Controller About
但是当我尝试导航到路径(http://mysite.com/about)时,我得到了404.以下是详细信息
网站设置为 C:\阿帕奇\ htdocs中\ mysite.com \公共
我修改了vhosts文件(C:\ apache \ conf \ extra \ httpd-vhosts.conf)以添加虚拟主机
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.localhost
DocumentRoot "C:/apache/htdocs/mysite.com/public"
ServerName mysite.com
ServerAlias mysite.com
ErrorLog "logs/mysite-error.log"
CustomLog "logs/mysite-access.log" common
</VirtualHost>
还添加了一个到windows hosts文件的映射 127.0.0.1 mysite.com
这是我公共文件夹中的.htaccess文件
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
我可以访问http://mysite.com,但当我尝试访问http://mysite.com/about时,我会收到404。
在我的httpd.conf中,我有以下
<Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
</Directory>
<Directory "C:/apache/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
我缺少什么让这项工作?
答案 0 :(得分:0)
感谢您发布详细的配置信息。
您需要在AllowOverride None
区块内将AllowOverride All
更改为<Directory "C:/apache/htdocs">
。
当AllowOverride为None
时,这意味着.htaccess文件未被处理,因此您的URL不会重写到Zend Application的前端控制器。