织梦DedeCMS实现顶级栏目与子栏目静态文件同目录存放教程
在织梦DedeCMS中,若希望将顶级栏目和所有子栏目的静态文件都存放在同一个目录下,必须为子栏目的默认页设置不同的名称,以避免生成时被最后生成的栏目覆盖index.html文件。
例如,顶级栏目的默认页名称保持为index.html,无需修改。

所有子栏目的文件保存目录与顶级栏目相同,但默认页名称需要设置为不同的值,例如:

完成上述设置后,还需要修改一个程序文件以实现完美效果。虽然可以在系统后台的“核心设置”中将“栏目网址使用目录名(不显示默认页,即是 /a/abc/ 形式)”设置为“否”,但这样生成的链接末尾会带有index.html。通过修改程序文件可以彻底解决此问题。
打开 /include/helpers/channelunit.helper.php 文件,找到大约第251行附近的代码:
if($cfg_typedir_df=='N' || $isdefault==0) $reurl = $typedir.'/'.$defaultname;
将其修改为:
if($defaultname != 'index.html' || $cfg_typedir_df=='N' || $isdefault==0) $reurl = $typedir.'/'.$defaultname;
保存修改后的文件,然后重新生成全站即可。
最终实现的效果如下图所示:

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
