dedecms网站,自己传有视频文件到网站空间,想在编辑文章内容的时候插入一段html代码,
版本:DEDE所有版本,DEDE_v5,V53,V55
原因:要创建的目录或者文件没有写入权限
解决办法:
第一步,定位出错的文件,即查找生成什么文件时出的问题。
方法:修改 include/dedetagclassphp文件,搜索"DedeTag Engine Create File False",会找到以下代码
$fp = @fopen($filename,"w") or die("DedeTag Engine Create File False");
修改成
$fp = @fopen($filename,"w") or die("DedeTag Engine Create File False:$filename");
重新生成栏目或者文档时,即可提示当前文件信息。
第二步,找到提示错误的目录或者文件,检查是否有写入权限,windows服务器请给予写入权限,linux服务器请给予777权限。如果目录或者文件不存在,请手工建立。
常见的错误情况有,data目录没有写入权限,html静态文件目录没有写入权限,indexhtml首页静态文件没有写入权限。
警告:此修改操作可能会暴露程序目录结构信息,建议解决问题以后,还原程序文件。
Hi,可以使用dedecms后台的单页面做
我把源码贴给你吧
这是txt版本的,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{dede:channel type='top' row='13'}[field:typeurl/]
{/dede:channel}{dede:channel type='son' row='10' typeid='1'}[field:typeurl/]
{/dede:channel}{dede:channel type='son' row='10' typeid='2' }[field:typeurl/]
{/dede:channel}{dede:channel type='son' row='10' typeid='3' }[field:typeurl/]
{/dede:channel}{dede:channel type='son' row='10' typeid='19' }[field:typeurl/]
{/dede:channel}{dede:channel type='son' row='10' typeid='15' }[field:typeurl/]
{/dede:channel}{dede:channel type='son' row='10' typeid='4' }[field:typeurl/]
{/dede:channel}{dede:channel type='son' row='10' typeid='5' }[field:typeurl/]
{/dede:channel}{dede:arclist row='3000' typeid='1' orderby='pubdate'}
[field:arcurl/]
{/dede:arclist}{dede:arclist row='3000' typeid='2' orderby='pubdate'}
[field:arcurl/]
{/dede:arclist}{dede:arclist row='3000' typeid='3' orderby='pubdate'}
[field:arcurl/]
{/dede:arclist}{dede:arclist row='3000' typeid='5' orderby='pubdate'}
[field:arcurl/]
{/dede:arclist}{dede:arclist row='3000' typeid='19' orderby='pubdate'}
[field:arcurl/]
{/dede:arclist}{dede:arclist row='3000' typeid='4' orderby='pubdate'}
[field:arcurl/]
{/dede:arclist}
这是xml版本的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
<xml version="10" encoding="gb2312">
<xml-stylesheet type="text/xsl" href="sitemapxsl">
<urlset xmlns="
<url>
<loc>
<priority>10</priority>
<lastmod>{dede:php} $_date = date('Y-m-d',time());
echo $_date;
{/dede:php}</lastmod>
<changefreq>Always</changefreq>
</url>
{dede:channelartlist row='13'}
<url>
<loc>{dede:field name='typeurl'/}</loc>
<priority>10</priority>
<lastmod>{dede:php} $_date = date('Y-m-d',time());
echo $_date;
{/dede:php}</lastmod>
<changefreq>Always</changefreq>
</url>
{/dede:channelartlist}
{dede:channelartlist type='son' row='10' typeid='1'}
<url>
<loc>{dede:field name='typeurl'/}</loc>
<priority>10</priority>
<lastmod>{dede:php} $_date = date('Y-m-d',time());
echo $_date;
{/dede:php}</lastmod>
<changefreq>Always</changefreq>
</url>
{/dede:channelartlist}
{dede:channelartlist type='son' row='10' typeid='2' }
<url>
<loc>{dede:field name='typeurl'/}</loc>
<priority>10</priority>
<lastmod>{dede:php} $_date = date('Y-m-d',time());
echo $_date;
{/dede:php}</lastmod>
<changefreq>Always</changefreq>
</url>
{/dede:channelartlist}
{dede:channelartlist type='son' row='10' typeid='3' }
<url>
<loc>{dede:field name='typeurl'/}</loc>
<priority>10</priority>
<lastmod>{dede:php} $_date = date('Y-m-d',time());
echo $_date;
{/dede:php}</lastmod>
<changefreq>Always</changefreq>
</url>
{/dede:channelartlist}
{dede:channelartlist type='son' row='10' typeid='19' }
<url>
<loc>{dede:field name='typeurl'/}</loc>
<priority>10</priority>
<lastmod>{dede:php} $_date = date('Y-m-d',time());
echo $_date;
{/dede:php}</lastmod>
<changefreq>Always</changefreq>
</url>
{/dede:channelartlist}
{dede:channelartlist type='son' row='10' typeid='15' }
<url>
<loc>{dede:field name='typeurl'/}</loc>
<priority>10</priority>
<lastmod>{dede:php} $_date = date('Y-m-d',time());
echo $_date;
{/dede:php}</lastmod>
<changefreq>Always</changefreq>
</url>
{/dede:channelartlist}
{dede:channelartlist type='son' row='10' typeid='4' }
<url>
<loc>{dede:field name='typeurl'/}</loc>
<priority>10</priority>
<lastmod>{dede:php} $_date = date('Y-m-d',time());
echo $_date;
{/dede:php}</lastmod>
<changefreq>Always</changefreq>
</url>
{/dede:channelartlist}
{dede:channelartlist type='son' row='10' typeid='5' }
<url>
<loc>{dede:field name='typeurl'/}</loc>
<priority>10</priority>
<lastmod>{dede:php} $_date = date('Y-m-d',time());
echo $_date;
{/dede:php}</lastmod>
<changefreq>Always</changefreq>
</url>
{/dede:channelartlist}
{dede:arclist row='3000' typeid='1' orderby='pubdate'}
<url>
<loc>[field:arcurl/]</loc>
<priority>08</priority>
<lastmod>[field:pubdate function=mydate('Y-m-d',@me)/]</lastmod>
<changefreq>daily</changefreq>
</url>
{/dede:arclist}
{dede:arclist row='3000' typeid='2' orderby='pubdate'}
<url>
<loc>[field:arcurl/]</loc>
<priority>08</priority>
<lastmod>[field:pubdate function=mydate('Y-m-d',@me)/]</lastmod>
<changefreq>daily</changefreq>
</url>
{/dede:arclist}
{dede:arclist row='3000' typeid='3' orderby='pubdate'}
<url>
<loc>[field:arcurl/]</loc>
<priority>08</priority>
<lastmod>[field:pubdate function=mydate('Y-m-d',@me)/]</lastmod>
<changefreq>daily</changefreq>
</url>
{/dede:arclist}
{dede:arclist row='3000' typeid='5' orderby='pubdate'}
<url>
<loc>[field:arcurl/]</loc>
<priority>08</priority>
<lastmod>[field:pubdate function=mydate('Y-m-d',@me)/]</lastmod>
<changefreq>daily</changefreq>
</url>
{/dede:arclist}
{dede:arclist row='3000' typeid='19' orderby='pubdate'}
<url>
<loc>[field:arcurl/]</loc>
<priority>08</priority>
<lastmod>[field:pubdate function=mydate('Y-m-d',@me)/]</lastmod>
<changefreq>daily</changefreq>
</url>
{/dede:arclist}
{dede:arclist row='3000' typeid='4' orderby='pubdate'}
<url>
<loc>[field:arcurl/]</loc>
<priority>08</priority>
<lastmod>[field:pubdate function=mydate('Y-m-d',@me)/]</lastmod>
<changefreq>daily</changefreq>
</url>
{/dede:arclist}
{dede:arclist row='3000' typeid='15' orderby='pubdate'}
<url>
<loc>[field:arcurl/]</loc>
<priority>08</priority>
<lastmod>[field:pubdate function=mydate('Y-m-d',@me)/]</lastmod>
<changefreq>daily</changefreq>
</url>
{/dede:arclist}
</urlset>
HTML的版本
<!doctype html>
<html lang="zh-cn">
<head>
<meta charset="gb2312">
<title>{dede:globalcfg_webname/}</title>
<meta name="keywords" content="{dede:globalcfg_keywords/}" />
<meta name="description" content="{dede:globalcfg_description/}" />
<meta name="Author" content="杨雨">
<meta name="Copyright" content="http://itbyccom">
</head>
<body>
<h1><a title="{dede:globalcfg_webname/}" href="
{dede:globalcfg_webname/}</a></h1>
<nav>
{dede:channelartlist }
<ul onmouseover="ShowMenuDd(this)" class="repeatItem">
<li><a title="{dede:field name='typename'/}" href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></li>
<li><ol>{dede:sql sql='Select from `dede_arctype` where reid=~id~ ORDER BY id'}
<li>
<a class="link" href="[field:typedir function="cn_substr(@me,200,9) " /]">[field:typename/]</a>
</li>
{/dede:sql}</ol></li>
</ul>
{/dede:channelartlist}
</nav>
<div>
<ol>{dede:arclist orderby='pubdate' row=100000 }
<li>
<a title="[field:fulltitle/]" href="[field:arcurl/]">[field:fulltitle/]</a>
<time>[field:pubdate function=MyDate('y-m-d',@me)/]</time>
</li>{/dede:arclist}
</ol>
</div>
</body>
</html>
建议你视频格式改成swf
<object width="445" height="275" <!--大小-->codebase="http://downloadmacromediacom/pub/shockwave/cabs/flash/swflashcab#version=7,0,19,0" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">
<param value="/swf位置" name="movie" />
<param value="high" name="quality" />
<param name="wmode" value="transparent">
<embed width="445" height="275" type="application/x-shockwave-flash" pluginspage="http://wwwmacromediacom/go/getflashplayer" quality="high" src="/swf位置"></embed></object>
织梦DedeCms全站伪静态,是为了更方便管理和SEO,织梦DedeCms默认是生成静态html文件的,对于优化已经非常友好,但还是有部分页面是动态形式的(比如:Tag标签页面、网站内容搜索页面、DedeCms问答页面等),为了是这些页面更好的被搜索引擎收录,就需要进行伪静态了,虽然织梦DedeCms系统可以生成静态html文件,但如果每天更新内容量特别大的话,对于生成html文件也成为系统和人力的一个负担,那么也可以做成伪静态形式,这样就免去了不断繁琐的生成html文件了。
将DedeCms全站静态化,这就需要mod_rewrite伪静态模块的支持。只要站长对htaccess正则表达式精通,就可以把dede整站静态
化,更符合搜索引擎,而且还可以避免重复URL来。DedeCms全站伪静态配置有些麻烦,主要是需要我们手动修改源代码。整理步骤如下:
1、首先开启站点伪静态功能。登录dede管理员后台->系统->系统基本参数->核心设置->是否使用伪静态 请选择“是”。
2、修改源程序,实现首页伪静态、频道页伪静态、列表页伪静态、文章页伪静态,这是过程比较复杂,不如其它php开源程序操作简单。
3、制作编写htaccess和htaccess文件规则,上传到DedeCms的安装目录。
织梦DedeCms全站伪静态教程:含列表|文章|问答|搜索|TAG伪静态规则:
1、网站服务器和网站空间是否支持伪静态:
这点特别重要,要么所以设置都不起作用。如果你的网站使用的是服务器,那么就可以自己动手设置一下,如果是空间的话,可以询问下IDC服务商客服,看是否
支持伪静态(一般空间都是支持伪静态的)。Apache服务器伪静态相对简单,直接在htaccess文件中加入相应伪静态规则即可;而IIS服务器伪
静态的实现,则需要加载Rewrite组件,然后配置httpdini文件。
2、开启DedeCMS伪静态:
1)织梦DedeCms后台-系统参数-核心设置-是否使用伪静态:选择“是”;
2)如果你启用了织梦DedeCms问答模块,则在后台-系统参数-模块设置-是否使用Rewrite:选择“是”;
3)创建栏目或批量增加栏目时,栏目列表选项:选择“使用动态页”; 添加新文章时,发布选项:选择“仅动态浏览 ”。同样你也可以更改他们的模板,让他们默认就是这两个值,一劳永逸。修改方法很简单,方法如下:
找到后台文件:/dede/templets/catalog_addhtm 修改添加栏目时默认“使用动态页”
<td height="26" style="padding-left:10px;">栏目列表选项:</td>
<td><input type='radio' name='isdefault' value='1' class='np' checked="checked" />链接到默认页
<input type='radio' name='isdefault' value='0' class='np' />链接到列表第一页
<input type='radio' name='isdefault' value='-1' class='np' />使用动态页</td>
改为下面代码
<td height="26" style="padding-left:10px;">栏目列表选项:</td>
<td><input type='radio' name='isdefault' value='1' class='np' />链接到默认页
<input type='radio' name='isdefault' value='0' class='np' />链接到列表第一页
<input type='radio' name='isdefault' value='-1' checked="checked" class='np' />使用动态页</td>
找到后台文件:/dede/templets/article_addhtm 修改添加文章时默认“仅动态浏览”
<td width="90">发布选项:</td>
<td width="379"><input name="ishtml" type="radio" class="np" value="1" checked="1" />生成HTML
<input type="radio" name="ishtml" class="np" value="0"/>仅动态浏览 </td>
改为下面代码
<td width="90">发布选项:</td>
<td width="379"><input name="ishtml" type="radio" class="np" value="1" />生成HTML
<input type="radio" name="ishtml" class="np" value="0" checked="1"/>仅动态浏览 </td>
4)如果网站已经存在生成的静态栏目或文章HTML,那么只需在后台-系统-SQL命令行工具 中执行如下语句:
update dede_arctype set isdefault=-1;
update dede_archives set ismake=-1;
注:命令中dede是网站安装时的数据表前缀,根据实际情况进行替换。
3、开启DedeCms伪静态支持并不能完全在后台配置,有很多地方还是需
要手动修改的。下面讲解DedeCms全站伪静态的实现方法,适用于V53以上版本。这次的DedeCms伪静态测试环境是Windows
IIS6,对于Linux或其它服务器的伪静态实现原理都是一样的,只要搞清楚思路就行。
1)DedeCms首页伪静态:
把站点根目录下indexhtml删除,以后不更新主页HTML就可以了,当然你也可以选择不使用动态首页。
2)DedeCms频道|列表页|文章页伪静态:
主要通过修改GetFileName()、GetTypeUrl()这两个函数实现。DedeCms V53、DedeCms
V55和DedeCms V56版本,打开/include/channelunitfuncphp进行修改。注意:DedeCms
V57,此文件路径更改了,你打开/include/helpers/channelunithelperphp即可。
A将GetTypeUrl()中的如下代码:
//动态
$reurl = $GLOBALS['cfg_phpurl']"/listphptid="$typeid;
替换为
//动态
$reurl = "/category/list-"$typeid"html";
这步必须修改,即让你的频道或是列表页URL变更为/category/list-1html形式。
B将GetFileName()中的如下代码:
//动态文章
if($cfg_rewrite == 'Y')
{
return $GLOBALS["cfg_plus_dir"]"/view-"$aid'-1html';
}
替换为
//动态文章
if($cfg_rewrite == 'Y')
{
return "/archives/view-"$aid'-1html';
}
将文章页默认的/plus/view-1-1html链接格式改为/archives/view-1-1html,随个人喜好,不改也行。
3)DedeCms列表分页伪静态:
打开/include/arclistviewclassphp,找到获取动态的分页列表GetPageListDM()函数末尾处:
$plist = str_replace('phptid=', '-', $plist);
替换为
$plist = str_replace('plus', 'category', $plist);//将默认的plus替换成category
$plist = str_replace('phptid=', '-', $plist);
将列表分页默认链接格式/plus/list-1-2-1html修改为/category/list-1-2-1html,这步也可以不作更改。
4)DedeCms文章分页伪静态:
打开/include/arcarchivesclassphp,找到获取动态的分页列表GetPagebreakDM()函数末尾片:
$PageList = str_replace("phpaid=","-",$PageList);
替换为
$plist = str_replace('plus', 'archives', $plist);//将默认的plus替换成archives
$PageList = str_replace("phpaid=","-",$PageList);
这步不作修改也可以,只是个人喜好问题。
5)DedeCmsTAG标签伪静态:
DedeCms默认的TAG标签URL,形如/tagsphp/dedecms57/,特别的难看。打开/include/taglib/taglibphp,找到lib_tag()函数下的:
$row['link'] = $cfg_cmsurl"/tagsphp/"urlencode($row['keyword'])"/";
替换为
$row['link'] = $cfg_cmsurl"/tags/"urlencode($row['keyword'])"/";
到这里,TAG标签URL中的“php”号就去掉了。
6)DedeCms搜索伪静态:
DedeCms搜索URL静态化比较麻烦,附带参数多不说,参数也可能变化,像搜索结果分页的URL就特麻烦,伪静态规则匹配复杂。将搜索URL中“searchphp…”直接替换为“searchhtml…”,至于“”号之后的参数以任意字符进行匹配。
依次打开include文件夹下的channelunitfuncphp、arcsearchviewclassphp、
arctaglistclassphp以及/include/taglib/hotwordslibphp,查找“searchphp”替
换为“searchhtml”即可。
7)DedeCms问答伪静态:
问答模块的伪静态实现比较简单,只要后台开启伪静态支持即可,至于个别页面,如ask目录下的browserphp、questionphp以及
include目录下的commonincphp、functionsincphp都需要简单修改才可以匹配伪静态规则。注意一
点,DedeCms V57问答模块整体升级了,之前的规则已经不适用了。
4、DedeCms伪静态规则:
依照上面的步骤修改完毕,接下来配置好httpdini文件和htaccess文件伪静态规则,则DedeCms全站伪静态就完美实现。
1)IIS伪静态
打开httpdini文件,加入如下规则:
#首页伪静态规则,如果不使用动态首页,请勿必删除这一行,否则打开首页会出现死循环
RewriteRule ^()/index\html $1/index\php [I]
#列表页伪静态规则
RewriteRule ^()/category/list-([0-9]+)\html $1/plus/list\php\tid=$2 [I]
RewriteRule ^()/category/list-([0-9]+)-([0-9]+)-([0-9]+)\html
$1/plus/list\php\tid=$2&TotalResult=$3&PageNo=$4 [I]
#文章页伪静态规则
RewriteRule ^()/archives/view-([0-9]+)-([0-9]+)\html $1/plus/view\php\arcID=$2&pageno=$3 [I]
#搜索伪静态规则
RewriteRule ^()/search\html(:(\)) $1/search\php$2 [I]
#TAG标签伪静态规则
RewriteRule ^()/tags\html $1/tags\php [I]
RewriteRule ^()/tags/()(:(\)) $1/tags\php\\/$2 [I]
RewriteRule ^()/tags/()\/(:(\)) $1/tags\php\\/$2\/ [I]
RewriteRule ^()/tags/()\/([0-9])(:(\)) $1/tags\php\\/$2\/$3 [I]
RewriteRule ^()/tags/()\/([0-9])\/(:(\)) $1/tags\php\\/$2\/$3\/ [I]
#问答伪静态规则,适用于DedeCmsV53-56版本,需要修改几处程序
RewriteRule ^()/post\html $1/post\php [I]
RewriteRule ^()/type\html $1/type\php [I]
RewriteRule ^()/question-([0-9]+)\html $1/question\php\id=$2 [I]
RewriteRule ^()/browser-1-([0-9]+)\html $1/browser\php\tid=$2 [I]
RewriteRule ^()/browser-2-([0-9]+)\html $1/browser\php\tid2=$2 [I]
RewriteRule ^()/browser-1-([0-9]+)-([0-9]+)\html $1/browser\php\tid=$2&page=$3 [I]
RewriteRule ^()/browser-2-([0-9]+)-([0-9]+)\html $1/browser\php\tid2=$2&page=$3 [I]
RewriteRule ^()/browser-([0-9]+)\html $1/browser\php\lm=$2 [I]
RewriteRule ^()/browser-1-([0-9]+)-([0-9]+)\html $1/browser\php\tid=$2&lm=$3 [I]
RewriteRule ^()/browser-2-([0-9]+)-([0-9]+)\html $1/browser\php\tid2=$2&lm=$3 [I]
2)Apache伪静态:
打开htaccess文件,加入如下规则:
#提供部分规则作参考
RewriteRule ^category/list-([0-9]+)\html$ /plus/listphptid=$1
RewriteRule ^category/list-([0-9]+)-([0-9]+)-([0-9]+)\html$ /plus/listphptid=$1&totalresult=$2&PageNo=$3
RewriteRule ^archives/view-([0-9]+)-([0-9]+)\html$ /plus/viewphpaid=$1&pageno=$2
RewriteRule ^indexhtml$ indexphp
0条评论