직몽 DedeCMS5.7 전체 사이트의 위조 정적 설정 방법

7392 단어 꿈을 꾸다
직몽은 정적 파일을 생성할 수 있지만 정적 파일을 생성하는 데 변동이 있으면 다시 생성해야 하기 때문에 비교적 번거롭다.직접적인 움직임은 사이트의 서에게 약간의 영향을 미친다. 위정태를 사용하는 것이 비교적 좋은 해결 방법이지만 서버의 부하를 증가시킬 수 있다.
우선, 사이트 공간이나 서버는 위조 정태를 지원해야 한다.이 점은 매우 중요하다. 그렇지 않으면 모든 것이 헛수고다.
너는 공간의 IDC 업체와 연락해서 자신의 서버라면 더욱 잘 할 수 있다. 일반적으로 공간은 위정태를 지원한다.
Apache 서버의 위정적 상태는 상대적으로 간단합니다.htaccess 파일에 상응하는 위정적 규칙을 넣으면 된다.
IIS 서버의 위정적 구현은 Rewrite 구성 요소를 불러오고 httpd를 설정해야 합니다.ini 파일.
그리고 직몽 백스테이지에서 DedeCms 위정태를 켜야 합니다.
a. 백그라운드 - 시스템 매개 변수 - 핵심 설정 - 위정적 사용 여부: "예"선택;
b. 퀴즈 모듈을 사용하면 백그라운드-시스템 매개 변수-모듈 설정-위정적 사용 여부:'예'를 선택합니다.
c. 항목을 만들거나 대량으로 항목을 추가할 때 항목 목록 옵션:'동적 페이지 사용'을 선택합니다.새 글을 추가할 때 [동적 탐색만] 을 선택하여 게시 옵션을 선택합니다.물론, 너도 그들의 템플릿을 변경해서 그들이 기본적으로 이 두 값을 사용하도록 할 수 있다.수정 방법은 간단합니다. HTML 기초를 조금만 알면 됩니다. 여기는 더 이상 지치지 않습니다.
d. 웹 사이트에 생성된 정적 항목이나 문장 HTML이 이미 존재한다면 백그라운드 - 시스템 - SQL 명령행 도구에서 다음과 같은 문장을 실행하면 됩니다.
update dede_arctype se t isdefault=-1;update dede_archives se t ismake=-1;

그 중에서 dede는 당신이 설치할 때의 데이터 테이블 접두사로 실제 상황에 따라 바꿉니다.
사실상 Dedecms의 위조 정적 지원을 켜는 것은 백그라운드에서 완전히 설정할 수 없기 때문에 수동으로 수정해야 할 부분이 많기 때문에 정부의 보완을 기대한다.
직몽 Dedecms의 위조 정태, PHP 원본 코드의 수정과 관련된, 당신은 Dreamweaver나 EditPlus 같은 편집 소프트웨어를 빌려 조작할 수 있습니다.
다음은 직몽 Dedecms5.7 전역 위조 정태의 실현 방법, V5.3 이상 버전에 적용.
이 글에서 말한 DedeCms 위정적 테스트 환경은 Windows IIS6입니다. 첫째, Linux나 다른 서버의 위정적 실현 원리는 모두 똑같습니다. 사고방식만 잘 파악하면 됩니다.
1. DedeCms 첫 페이지는 사이트 루트 디렉터리를 인덱스로 정태화합니다.html를 삭제하고 나중에 홈페이지 HTML을 업데이트하지 않으면 됩니다. 물론 동적 첫 페이지를 사용하지 않을 수도 있습니다.
2. DedeCms 채널, 목록 페이지, 문장 페이지의 위조 정태는 주로 GetFileName (), GetTypeUrl () 두 함수를 수정하여 이루어진다.DedeCms V5.3, DedeCms V5.5 및 DedeCms V5.6 버전으로/include/channelunit를 엽니다.func.php를 수정합니다.참고: DedeCms V5.7, 이 파일 경로가 변경되었습니다./include/helpers/channelunit를 엽니다.helper.php하면 됩니다.
a. GetFileName()의 다음 코드를 사용합니다.
// 
 if($cfg_rewrite == 'Y') {
 return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html'; }

로 바꾸기
// 
 if($cfg_rewrite == 'Y')
 {
 return "/view-".$aid.'-1.html';
 }

페이지 기본/plus/view-1-1html 링크 형식/view-1-1로 변경html, 이것은 개인이 좋아하는 대로 변경하지 않아도 됩니다.
b. GetTypeUrl () 의 다음 코드를 사용합니다.
 //  $reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;

로 바꾸기
 //  $reurl = "/list-".$typeid.".html";

이 단계는 채널이나 목록 페이지의 URL을/list-1로 변경하는 것을 수정해야 합니다.html 형식.
3. DedeCms 목록 페이지별 정적 열기/include/arc.listview.class.php, 동적 페이지 목록 가져오기 GetPageListDM () 함수 끝부분을 찾습니다.
 $plist = str_replace('.php?tid=', '-', $plist);

로 바꾸기
$plist = str_replace('plus', 'category', $plist); // plus category 
$plist = str_replace('.php?tid=', '-', $plist);

목록 페이지 나누기 기본 링크 형식/plus/list-1-2-1html/list-1-2-1로 수정html, 이 단계도 변경하지 않아도 됩니다.
4. DedeCms 글의 페이지 구분 정적 열기/include/arc.archives.class.php, 동적 페이지 목록 가져오기 GetPagebreakDM() 함수 끝 부분을 찾습니다.
 $PageList = str_replace(".php?aid=","-",$PageList);

로 바꾸기
$plist = str_replace('plus', 'archives', $plist); // plus archives 
$PageList = str_replace(".php?aid=","-",$PageList);

이 단계는 수정하지 않아도 된다. 단지 개인의 취향 문제일 뿐이다.
5. DedeCmstag 태그 위조 정적 DedeCms 기본 태그 URL(예:/tags).php?/dedecms5.7/, 아주 못생겼어요./include/taglib/tag를 엽니다.lib.php,lib_ 찾기tag () 함수에서 다음을 수행합니다.
$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";

로 바꾸기
$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword'])."/";

여기까지, 태그 URL의 ".php?"사이즈는 뺐어요.
6. DedeCms 검색 위조 정적 DedeCms 검색 URL 정태화는 비교적 번거롭다. 부대 파라미터는 말할 것도 없고 파라미터도 변화할 수 있다. 예를 들어 검색 결과의 페이지를 나누는 URL은 매우 번거롭고 위조 정적 규칙의 일치가 복잡하다.주 SEO에 따라 게으름을 피우고 검색 URL에서'search.php?...'를'search.html?...'로 바꾸고'?'번호 뒤에 있는 매개 변수는 임의의 문자로 일치합니다.include 폴더 아래의 channelunit를 차례로 엽니다.func.php、arc.searchview.class.php、 arc.taglist.class.php 및/include/taglib/hotwords.lib.php, "search.php?"찾기"search.html?"됐어.
7. DedeCms 퀴즈 위정적 퀴즈 모듈의 위정적 실현은 비교적 간단하다. 백그라운드에서 위정적 지원을 켜면 된다. 예를 들어 ask 디렉터리에 있는browser와 같은 개별 페이지.php、question.php 및include 디렉터리의common.inc.php、functions.inc.php는 위조 정적 규칙과 일치하도록 간단하게 수정해야 합니다.주의하십시오. DedecmsV5.7 퀴즈 모듈이 전체적으로 업그레이드되었습니다. 이전의 규칙은 이미 적용되지 않았습니다. 앞으로 전문적으로 교과서를 써서 참고하도록 하겠습니다.
8. DedeCms 위조 정태 규칙은 위의 절차에 따라 수정되었습니다. 다음에 당신의 위조 정태 규칙을 설정하면 DedeCms 전역의 위조 정태는 완벽하게 실현됩니다.
1) IIS 위조 정적 열기 httpd.ini 파일, 다음 규칙을 추가합니다.
# , , ,  
RewriteRule ^(.*)/index\.html $1/index\.php [I] 
#  
RewriteRule ^(.*)/list-([0-9]+)\.html $1/plus/list\.php\?tid=$2 [I] 
RewriteRule ^(.*)/list-([0-9]+)-([0-9]+)-([0-9]+)\.html $1/plus/list\.php\?tid=$2&TotalResult=$3&PageNo=$4 [I] 
#  
RewriteRule ^(.*)/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] 
# , DedeCmsV5.3-5.6 ,  
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 ^"^/list-([0-9]+)\.html$" plus/list.php?tid=$1
RewriteRule ^"^/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$" plus/list.php?tid=$1&totalresult=$2&PageNo=$3
RewriteRule ^"^/view-([0-9]+)-1\.html$" plus/view.php?arcID=$1
RewriteRule ^"^/view-([0-9]+)-([0-9]+)\.html$" plus/view.php?aid=$1&pageno=$2
RewriteRule ^"^/tags.html$" tags.php
RewriteRule ^"^/tag-([0-9]+)-([0-9]+)\.html$" tags.php?/$1/$2

3) Nginx 위조 정적
location / {
rewrite "^/list-([0-9]+)\.html$" /plus/list.php?tid=$1 last;
rewrite "^/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$" /plus/list.php?tid=$1&totalresult=$2&PageNo=$3 last;
rewrite "^/view-([0-9]+)-1\.html$" /plus/view.php?arcID=$1 last;
rewrite "^/view-([0-9]+)-([0-9]+)\.html$" /plus/view.php?aid=$1&pageno=$2 last;
rewrite "^/tags.html$" /tags.php last;
rewrite "^/tag-([0-9]+)-([0-9]+)\.html$" /tags.php?/$1/$2/ last;
break;
}

이로써 직몽 DedeCMS5.7의 전역 위조 정태가 완성되었다.

좋은 웹페이지 즐겨찾기