常规栏目都方便的使用html_root来达到指定静态文件路径的目的,但是单页面生成时由于未能默认指定v9_category表中sethtml字段的值造成即使将常规栏目设置生成在站点根目录下时,单页面仍然生成在html_root指定的目录下。以下是青锋建站-专业的网站建设公司提供给大家的解决方法。
下面我们结合三种情况来分析'当设置了配置文件中的html_root' => '/a',属性时生成静态文件的工作过程:
1、设置了html_root' => '/a',属性,所有栏目设置为生成到html_root目录
当所有栏目设置为生成到html_roo目录时,实际的工作过程是这样的:假如phpcms根目录下有一文件夹'a'时,所有的phpcms单页面和常规栏目将生成在a目录下,这种情况下是工作正常的。所有的静态文件生成在单一目录可以更方便的管理。但是有一个问题,这无形当中给网站所有的栏目增加了目录层级。下面看第二种情况。
2、设置了html_root' => '/a',属性,指定生成到根目录
此时常规栏目生成到站点根目录而单页面生成到html_root设定的目录。这时常规栏目的子目录也指定生成到根目录的情况下将破坏目录层级,改变这种情况的方法是将子栏目设置为“在选择是否生成到根目录时选择-否”;这时单页面仍然生成到html_root指定的目录。也就是说只要指定html_root,phpcms单页面就将生成到html_root目录下。3、不设置html_root' 属性,多站点共存的情况
主站点:所有单页面直接生成在根目录下,常规目录不论父目录子目录直接生成在根目录(没有体现层级关系)。子站点:子站点和主站点表现一致,在主目录下创建网站目录,在子站点目录下生成静态文件。如果子站点较多,在主目录下生成较多的目录不易集中管理,且不能体现常规栏目的层级管理。
4、设置了html_root' => '/a',属性,多站点灵活布署
这里将是青锋建站-专业网站建设公司要讲的重点,即仍然需要设置html_root' => '/a',属性,通过优化phpcms单页面来达到主站点所有目录生成到根目录下。而其他子站点则生成到html_root' 指定的目录下的站点目录下,并且子站点下所有的单页面和常规目录将生成到所在的子站点根目录,并保持良好的目录层级关系。方法如下:phpcms根目录下找到以下两个模板文件:phpcmsmodulesdmin emplatescategory_page_add.tpl.php和category_page_edit.tpl.php,在表单提交之处(</form>之前)添加以下表单项:<input type='hidden' name='setting[create_to_html_root]' value='1' >,保存即可实现即使指定html_root属性,单页面也会生成到根目录,从而实现phpcms多站点灵活布署。
以上就是青锋建站给大家分享的phpcms单页面优化的方法,更多phpcms相关资料请到网站建设教程一栏目。青锋建站,提供专业的高品质网站制作服务,包括网站建设,SEO,网络营销,PHP开发,网站建设知名品牌,全国接单,为企业构建强有力的营销平台。
转载请注明来源网址:青锋建站-http://www.sjzphp.com/webdis/phpcms_page_507.html