使用虚拟目录建立DedeCMS站点会出现不能正确引用附件路径、图片路径、外联样式文件路径、外联脚本文件路径的错误,下面是解决方法:
普及下知识:
1、绝对路径:
G:/www/templets/default/index.htm
/templests/default/index.htm(注意:这样的也是绝对路径,系统会自动从当前目录开始查找文件。)
http://www.example.com/index.htm
2、相对路径
../templets/default/index.htm
./templets/default/index.htm
templets/default/index.htm(不建议如此写,严格来说,这样写是不正确的)
正文:
当前站点:www.example.com
根目录:g:/
虚拟目录:www.example.com/alias/
虚拟目录对应实际目录:g:/example/
测试DedeCMS版本:V5.7-UTF8-SP1-Full
使用正常程序安装CMS至【参数配置】步骤时注意“CMS安装目录”($cfg_cmspath)选项,此处应该填写内容:
1、默认(即对应的虚拟目录名:/alias),如果使用默认,访问前台时会出现错误,提示:G:/Client/include/alias/templets/default/index.htm Not Found!
这是因为CMS系统根目录(DEDEINC——系统常量)使用的是实际目录,$cfg_basedir(程序参数)是处理DEDEINC后得来,而实际的目录里面没有alias文件夹。
参加:/include/common.inc.php文件代码:
$cfg_basedir = preg_replace(‘#‘.$cfg_cmspath.‘\/include$#i‘, ‘‘, DEDEINC);
2、空(不填写),可以使用以下方式引用外部文件
/example{dede:global.cfg_templets_skin/}/style/common.css 或 /example/templets/default/style/common.css
.{dede:global.cfg_templets_skin/}/style/common.css 或 ./templets/default/style/common.css
3、实际目录(/example),可以使用以下方式引用外部文件
{dede:global.cfg_templets_skin/}/style/common.css
./templets/default/style/common.css