ESPCMS切换语言时出现"Access denied!"提示,是程序代码缺陷造成的.
因为windowr操作系统的目录分隔符可以是/和\,而linux操作系统的目录分隔符是/.
程序代码中必须使用DIRECTORY_SEPARATOR来代替/或\才能实现各种系统兼容.
要修复这个问题,需要修改三个文件.
html\en\index.php
修改以下代码
- define('admin_ROOT', str_replace('html\en', '', dirname(__FILE__) ) . '/');
复制代码 为
- define('admin_ROOT', str_replace('html'.DIRECTORY_SEPARATOR.'en', '', dirname(__FILE__) ) . '/');
复制代码
html\cn\index.php
修改以下代码
- define('admin_ROOT', str_replace('html\cn', '', dirname(__FILE__) ) . '/');
复制代码 为
- define('admin_ROOT', str_replace('html'.DIRECTORY_SEPARATOR.'cn', '', dirname(__FILE__) ) . '/');
复制代码 html\big5\index.php
修改以下代码
- define('admin_ROOT', str_replace('html\big5', '', dirname(__FILE__) ) . '/');
复制代码 为
- define('admin_ROOT', str_replace('html'.DIRECTORY_SEPARATOR.'big5', '', dirname(__FILE__) ) . '/');
复制代码 |
|