首先感谢PSI研发团队贡献如此优秀的代码,对于做项目喜欢拿来主义的我, PSI是我目前发现的最好的开源erp。
项目地址:https://gitee.com/crm8000/PSI
言归正传,我在本地(window+phpstudy环境)下部署PSI时曾出现目录无法访问的情况,根据经验定位问题出现在.haccess文件上
官方给出的配置规则为:
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
第一种解决方案是:在index.php后面加?
修改为:
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
第二种方案替换规则为:
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
这个尚在经验范围之内,但下午在服务器(Linux+nginx)环境下部署的时候翻车了,毕竟nginx车龄不够经验不足,
部署的项目访问无法加载,提示重定向次数过多。
清除cookie或者更换浏览器都无法解决
项目一直在/web和/web/Home/User/login目录之间来回的跳转
网上各种百度无果
猜测重定向次数过多是因为路由的配置,
删掉路由配置规则后发现果然不再重定向了,但是无法访问了,正是预期结果.
于是断定是路由问题抛出了404
尝试使用/web/index.php?m=Home&c=User&a=login 写法访问,很OK.
锁定问题后那就是如何配置linux+nginx+thinkphp的伪静态问题了。
网上搜索了很多,尝试了很多次,无果。上火中......
怀疑是不是因为thinkphp放在了子目录的问题。
尝试修改nigin配置中添加了子目录rewrite规则:
location /web/ {
if (!-e $request_filename){
rewrite ^/web/(.*)$ /web/index.php?s=$1 last;
}
}
访问,正常!我天!谢天谢地!问题终于解决!
一个小白的艰辛探索,分享出来,如有错误,还望指点。