今天再幫你客戶安全設(shè)置dedecms的時(shí)候,點(diǎn)擊生成rss與網(wǎng)站地圖等出現(xiàn)這個(gè)問(wèn)題,有時(shí)候生成靜態(tài)頁(yè)面的時(shí)候也會(huì)出現(xiàn),一般是權(quán)限或目錄不存在等問(wèn)題導(dǎo)致,這里簡(jiǎn)單說(shuō)明下
1、一般dedecms的安全隱患挺多(說(shuō)明使用的人與研究的人也很多),一般根據(jù)官方網(wǎng)站的提示需要將data轉(zhuǎn)移到上一級(jí)目錄中,web無(wú)法訪問(wèn)的地方。
設(shè)置方法可以參考這篇文章 http://www.jb51.net/cms/67794.html,不過(guò)設(shè)置好會(huì)出現(xiàn)織夢(mèng)dedecms站點(diǎn)data目錄位置變動(dòng)調(diào)整驗(yàn)證碼不顯示( http://www.jb51.net/cms/41934.html)也可能出現(xiàn)無(wú)法生成rss與網(wǎng)站地圖等問(wèn)題,可以參考這篇文章(http://www.jb51.net/cms/84438.html)
2、取消靜態(tài)目錄等不需要執(zhí)行php文件的目錄,的腳本執(zhí)行權(quán)限。
DedeTag Engine Create File False提示的種種原因
第一種情況:站點(diǎn)、文件夾權(quán)限不足造成無(wú)法建立文件
這種情況的出現(xiàn),一方面可能是Apache設(shè)置的讀寫(xiě)權(quán)限較嚴(yán)格,另一方面原因可能是使用者通過(guò)服務(wù)器或FTP對(duì)一些文件夾設(shè)置了錯(cuò)誤的讀寫(xiě)權(quán)限造成。這時(shí)候,只需修改網(wǎng)站根目錄或相關(guān)欄目的目錄上修改權(quán)限為755即可解決。
解決辦法:
第一步、定位出錯(cuò)的文件,即查找生成什么文件時(shí)出的問(wèn)題。
方法:修改 include/dedetag.class.php文件,搜索”DedeTag Engine Create File False“,會(huì)找到以下代碼
代碼如下:
$fp = @fopen($filename,”w”) or die(“DedeTag Engine Create File False”);
修改成
代碼如下:
$fp = @fopen($filename,”w”) or die(“DedeTag Engine Create File False:$filename”);
重新生成欄目或者文檔時(shí),即可提示當(dāng)前文件信息。
第二步、檢查是否有寫(xiě)入權(quán)限,windows服務(wù)器請(qǐng)給予寫(xiě)入權(quán)限,linux服務(wù)器請(qǐng)給予777權(quán)限。如果目錄或者文件不存在,請(qǐng)手工建立。
常見(jiàn)的錯(cuò)誤情況有:data目錄沒(méi)有寫(xiě)入權(quán)限,html靜態(tài)文件目錄沒(méi)有寫(xiě)入權(quán)限,index.html首頁(yè)靜態(tài)文件沒(méi)有寫(xiě)入權(quán)限。
此時(shí)在進(jìn)行生成欄目或者頁(yè)面HTML操作,即可順利進(jìn)行。
第二種情況:列表、頻道、文章等命名規(guī)則未填寫(xiě)或填寫(xiě)錯(cuò)誤
此種情況較為少見(jiàn),因?yàn)槌跫?jí)用戶一般不會(huì)去修改這些東西,情況可以大致分為:
■命名規(guī)則未填寫(xiě)(即為空)
解決方法:只需填好相應(yīng)的規(guī)則即可,重新選擇欄目類(lèi)型,也可以快速自動(dòng)填寫(xiě)。
■命名規(guī)則中含有非法字符
解決方法:將非法字符替換或刪除。
■命名規(guī)則設(shè)置錯(cuò)誤
例如:命名列表頁(yè)為{typedir}/{tid}.html,這種命名方式對(duì)列表只有一頁(yè)的欄目是正常的,如果列表是兩頁(yè)或兩頁(yè)以上時(shí),由于進(jìn)程沖突,生成欄目就會(huì)出現(xiàn) DedeTag Engine Create File False 的提示。
解決方法:此時(shí)只需要增加{page}變量到名稱(chēng)中即可解決問(wèn)題。
■生成文件的層次不對(duì)
例如設(shè)置列表文件要在列表{typedir}目錄下,不能向下再有目錄比如:{typedir}/list{tid}{page}.html是對(duì)的,可以生成但是如果設(shè)置為 {typedir}/list/{tid}{page}.html這樣將會(huì)出錯(cuò)
第三種情況:發(fā)布文章后將欄目改為了“外部鏈接”類(lèi)型
在某個(gè)欄目里發(fā)了幾篇文章,后來(lái)把這個(gè)欄目改成外連接了,更新文檔時(shí),系統(tǒng)還會(huì)更新這個(gè)欄目下的那幾篇文章,但地址是外連接,所以無(wú)法生成文件,由此產(chǎn)生DedeTag Engine Create File False提示
解決方法:把欄目改回的目錄,把文章刪除,再改回外部鏈接類(lèi)型。