# 网站开发完成,要部署到apache服务器上时,只能显示/public下的主页,访问其他页面则404
造成这个问题的原因主要有两点:
1. apache没有开启对.htaccess的重写权限
2. apache配置虚拟主机时,少配置了一层。应该是 /www/myapp/public
而不是 /www/myapp
具体到我这儿的这个问题,是由这两点原因共同造成的。可是由于大多数人的问题是由第1个原因造成的,导致我搜索了很多文章,也完全做好了原因1的配置,可是还是不能成功运行。还好#StackOverflow的这个问题 ,Alexey Mezenin这个老哥的回答中指出:要具体到public目录,才最终解决了问题。
- 解决问题1
到apache的httpd.conf文件中,找到
#LoadModule rewrite_module modules/mod_rewrite.so
这一行,把注释去掉。再从你对应的目录设置里,把
AllowOverride None
改成
AllowOverride All
重启apache,就好了。
- 解决问题2
到相应的目录设置处,或虚拟主机设置处,把public
目录加上就好了。
# Auth::attemp()验证登录,总是失败
造成这个问题的原因是,我手贱自己用md5把密码加密后存库了。登录验证时又把request里的密码加了md5去和数据库对比。
实际上,这个方法会对前台来的明文密码直接加密,所以如果再对request里的密码用md5相当于加密了两次当然不对了。
然后测试用建立数据库用户记录的时候,通过tinker,调用Hash::make()方法,就可以用和这个方法一致的加密方式进行加密了。