哪位大师用过apache2.4版本

heroblues 2013-12-22 09:05:40
我用apache2.4.6版本访问类似www.test.com/default/test的地址报404;但在同样的代码、同样的地址url在apache2.2版本中就可以正常访问,哪位大师知道是什么问题?apache2.4与apache2.2在
url重写这方面有什么区别吗?补充一点,www.test.com这样访问是可以正常访问的.
...全文
3990 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zippy_ppo 2015-06-15
  • 打赏
  • 举报
回复
今天遇到同样的问题研究了一下解决了,不知道是不是同样的问题,发出来有遇到同样问题的可以试一下。 由于2.2到2.4的更新,需要将全部允许 2.2版本 Order allow,deny Allow from all 改为 2.4版本 Require all granted 全部禁止 2.2版本 Order deny,allow Deny from all 改为 2.4版本 Require all denied 配置了虚拟主机的地方 2.2版本一般这么写 Options Indexes MultiViews FollowSymLinks 但是这样在2.4版本下会导致rewrite失效,会报404错误 改成Options Indexes FollowSymLinks就正常了 我的2.2版本下的虚拟主机配置 <VirtualHost *:80> ServerName demo.zmw.com DocumentRoot "E:/wamp/www/cwrj" <Directory "E:/wamp/www/cwrj"> Options Indexes MultiViews FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> 在2.4下访问出现404 改成 <VirtualHost *:80> ServerName demo.zmw.com DocumentRoot "E:/wamp/www/cwrj" <Directory "E:/wamp/www/cwrj"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost> 则正常访问,在apache2.4下出现.htaccess失效问题的可以尝试一下看下是不是配置上的一些错误
heroblues 2013-12-23
  • 打赏
  • 举报
回复
楼上的朋友,apache2.4版本必须要建.htaccess文件?没有这个文件不能解析url吗?另外,LoadModule rewrite_module modules/mod_rewrite.so我已打开,httpd.conf文件中的AllowOverride None,已都修改成了AllowOverride All。
码无边 2013-12-23
  • 打赏
  • 举报
回复
看下apache配置是否一致,比如开启伪静态规则。 1.在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号“#”,或添加这句。 2.允许在任何目录中使用“.htaccess”文件,将“AllowOverride”改成“All”(默认为“None”): # AllowOverride controls what directives may be placed in .htaccess files. # It can be “All”, “None”, or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride All 3.建立.htaccess 文件
xuzuning 2013-12-23
  • 打赏
  • 举报
回复
www.test.com/default/test这样的url地址在apache2.2可以正常访问,但apache2.4版就不行 这就表示 path_info 没有打开 不过你说不必须,那就不必须吧
heroblues 2013-12-23
  • 打赏
  • 举报
回复
楼上的朋友,AcceptPathInfo这个命令不是必须的吧?www.test.com/default/test这样的url地址在apache2.2可以正常访问,但apache2.4版就不行。是apache配置的问题,还是其他问题呢?
xuzuning 2013-12-23
  • 打赏
  • 举报
回复
AcceptPathInfo On apache 2.0以上中的默认的是没有acceptpathinfo 你需要自己加上
heroblues 2013-12-23
  • 打赏
  • 举报
回复
楼上的朋友,AllowOverride FileInfo和AllowOverride All有什么区别吗?
xuyanlu 2013-12-23
  • 打赏
  • 举报
回复
我的就是从2.2升到2.4的 Apache 2.4 和Apache2.2在配置上没有什么区别 把AllowOverride None 改成AllowOverride FileInfo 再给你个Apache2.4的文档地址
heroblues 2013-12-22
  • 打赏
  • 举报
回复
两个版本在命令上还是有差别的。
iasky 2013-12-22
  • 打赏
  • 举报
回复
应该是一样的吧,你确定你的配置文件一样?

4,251

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧