Php 即使在apache中启用了url重写,我的zend framework应用程序也没有读取htaccess文件
我已经构建了一个Zend框架应用程序。通过将其配置为读取Php 即使在apache中启用了url重写,我的zend framework应用程序也没有读取htaccess文件,php,zend-framework,apache2,Php,Zend Framework,Apache2,我已经构建了一个Zend框架应用程序。通过将其配置为读取routes.ini文件,我的应用程序在部署后不会转到任何路由,但只有默认路由工作。我在这个应用程序中总共有4条路线,但没有一条是有效的。Apache显示未找到的错误 我查看了.htaccess文件,它非常完美,在我的本地环境下运行良好。我还检查了权限。它具有www-data的读写权限。我还检查了ApacheURL重写模块 我再次这样做,并尝试: sudo a2enmod rewrite 还是同一个问题 我的apache错误日志显示该文件
routes.ini
文件,我的应用程序在部署后不会转到任何路由,但只有默认路由工作。我在这个应用程序中总共有4条路线,但没有一条是有效的。Apache显示未找到的错误
我查看了.htaccess
文件,它非常完美,在我的本地环境下运行良好。我还检查了权限。它具有www-data
的读写权限。我还检查了ApacheURL重写模块
我再次这样做,并尝试:
sudo a2enmod rewrite
还是同一个问题
我的apache错误日志显示该文件不存在。请告诉我哪里出了问题。尝试以下步骤来修改
sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/
sudo gedit /etc/apache2/sites-enabled/000-default
添加以下代码
<Directory /var/www/your_prject_name>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
# Commented out for Ubuntu
#RedirectMatch ^/$ /apache2-default/
</Directory>
在研究了几个小时之后,我注意到apache vhost文件中有一个非常小且敏感的错误 我的参赛作品是这样的
<Directory /var/www/your_project>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
选项索引跟随符号链接多视图
不允许超限
命令允许,拒绝
通融
但实际上我的条目应该是这样的
<Directory /var/www/your_project>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory
选项索引跟随符号链接多视图
允许超越所有
命令允许,拒绝
通融
你能在你的.htaccess和access中写下“拒绝所有”来做一个测试吗??你应该看到一个403错误。它没有给我403错误。好的,那么你的重写模块不工作了!能否重新启用重新布线模块?你也在httpd.conf中启用了模块吗?我刚刚做了这个sudo a2enmod重写来启用will wont dodid你尝试取消对LoadModule rewrite\u module modules/mod\u rewrite.so的注释吗?在apache的conf中?我已经有了这个设置,但仍然存在相同的问题,htaccess文件感谢您发布如此详细的解释,说明您是如何解决问题的,我希望更多的人会这样做!
<Directory /var/www/your_project>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory