CMS 튜토리얼 Dedecms Dedecms가 사이트 전체에 의사 정적을 구현하는 방법

Dedecms가 사이트 전체에 의사 정적을 구현하는 방법

Jul 20, 2019 pm 01:54 PM

Dedecms가 사이트 전체에 의사 정적을 구현하는 방법

DreamWeaver DedeCms는 더 쉬운 관리를 위해 사이트 전체에 의사 정적이며 DedeCms는 기본적으로 최적화에 매우 친숙한 정적 HTML 파일을 생성합니다. 하지만 여전히 동적 형식의 일부 페이지가 있습니다(예: 태그 태그 페이지, 웹사이트 콘텐츠 검색 페이지, DedeCms Q&A 페이지 등). 이러한 페이지가 검색 엔진에 더 잘 포함되도록 하려면 의사 정적이어야 합니다. DedeCms 시스템의 경우 Static html 파일을 생성할 수 있지만, 매일 업데이트되는 콘텐츠의 양이 특히 많은 경우 html 파일을 생성하는 것도 시스템과 인력에 부담이 되며 의사(pseudo)로 만들 수도 있습니다. 정적 형식이므로 지루한 HTML 파일 생성이 필요하지 않습니다.

전체 DedeCms 사이트를 정적으로 만들려면 mod_rewrite 의사 정적 모듈의 지원이 필요합니다. 웹마스터가 .htaccess 정규 표현식에 능숙하다면 전체 웹사이트를 정적으로 만들 수 있습니다. 이는 검색 엔진에 더 부합하고 반복되는 URL을 피할 수도 있습니다. DedeCms 전체 사이트 의사 정적 구성은 소스 코드를 수동으로 수정해야 하기 때문에 약간 번거롭습니다. 구성 단계는 다음과 같습니다:

1 먼저 사이트의 의사 정적 기능을 활성화합니다. Dede 관리자 백엔드에 로그인 -> 시스템 -> 시스템 기본 매개변수 -> 핵심 설정 -> 의사 정적 사용 여부를 "예"로 선택합니다.

2. 의사 정적 홈페이지, 의사 정적 채널 페이지, 의사 정적 목록 페이지 및 의사 정적 기사 페이지를 구현하도록 소스 프로그램을 수정합니다. PHP 오픈 소스 프로그램은 더 복잡하고 작동하기 쉽습니다.

3. .htaccess 및 .htaccess 파일 규칙을 작성하여 DedeCms 설치 디렉터리에 업로드합니다.

Dreamweaver DedeCms 전체 사이트 의사 정적 튜토리얼: list|article|Q&A|search|TAG 의사 정적 규칙 포함:

1 . 웹사이트 서버 및 웹사이트 공간이 의사 정적을 지원하는지 여부:

이것은 특히 중요합니다. 그렇지 않으면 모든 설정이 작동하지 않습니다. 귀하의 웹사이트가 서버를 사용한다면 직접 설정할 수 있습니다. 스페이스라면 IDC 서비스 제공업체 고객 서비스에 의사 정적 지원 여부를 문의하세요(일반적으로 스페이스는 의사 정적을 지원합니다). Apache 서버 의사 정적은 비교적 간단합니다. 해당 의사 정적 규칙을 .htaccess 파일에 직접 추가하고 IIS 서버에서 의사 정적을 구현하려면 Rewrite 구성 요소를 로드한 다음 httpd.ini 파일을 구성해야 합니다.

2. DedeCMS 의사 정적 켜기:

1) DedeCms 배경 - 시스템 매개변수 - 핵심 설정 - 의사 정적 사용 여부 : "예" 선택;

2) DedeCms 질문 및 답변 모듈을 활성화하는 경우 백그라운드 - 시스템 매개변수 - 모듈 설정 - 재작성 사용 여부:

을 선택합니다. #🎜🎜 #3) 열을 생성하거나 일괄적으로 열을 추가할 때 열 목록 옵션: "동적 페이지 사용"을 선택하고, 새 기사를 추가할 때 게시 옵션: "동적 탐색만"을 선택합니다. 마찬가지로, 이 두 값을 한 번에 기본값으로 설정하도록 템플릿을 변경할 수도 있습니다. 수정 방법은 매우 간단하며 방법은 다음과 같습니다.

배경 파일 찾기: /dede/templets/catalog_add.htm 열 추가 시 기본 "동적 페이지 사용" 수정

<td height="26" style="padding-left:10px;">栏目列表选项:</td>
            <td><input type=&#39;radio&#39; name=&#39;isdefault&#39; value=&#39;1&#39; class=&#39;np&#39; checked="checked" />链接到默认页
              <input type=&#39;radio&#39; name=&#39;isdefault&#39; value=&#39;0&#39; class=&#39;np&#39; />链接到列表第一页
              <input type=&#39;radio&#39; name=&#39;isdefault&#39; value=&#39;-1&#39; class=&#39;np&#39; />使用动态页</td>
로그인 후 복사

대상:


<td height="26" style="padding-left:10px;">栏目列表选项:</td>
            <td><input type=&#39;radio&#39; name=&#39;isdefault&#39; value=&#39;1&#39; class=&#39;np&#39; />链接到默认页
              <input type=&#39;radio&#39; name=&#39;isdefault&#39; value=&#39;0&#39; class=&#39;np&#39; />链接到列表第一页
              <input type=&#39;radio&#39; name=&#39;isdefault&#39; value=&#39;-1&#39; checked="checked" class=&#39;np&#39; />使用动态页</td>
로그인 후 복사

배경 파일 찾기: /dede/templets/article_add.htm 기사 추가 시 기본 "동적 탐색 전용" 수정

<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>
로그인 후 복사
#🎜 🎜#Changed to: #🎜🎜 #

<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을 생성한 경우 background-system-SQL 명령줄 도구에서 다음 명령문을 실행하면 됩니다. # 🎜🎜#

update dede_arctype set isdefault=-1;
update dede_archives set ismake=-1;
로그인 후 복사

참고: 명령의 dede는 웹사이트 설치 중 데이터 테이블 접두사입니다. 실제 상황에 따라 교체하세요.

3. DedeCms 의사 정적 지원을 켜는 것은 백그라운드에서 완전히 구성할 수 없습니다. 여전히 수동으로 수정해야 하는 곳이 많습니다. 다음은 V5.3 이상에 적용되는 DedeCms full-site pseudo-static 구현 방법을 설명합니다. 이번에 DedeCms 의사 정적 테스트 환경은 Windows IIS6입니다. 아이디어가 명확한 한 Linux 또는 기타 서버에 대한 의사 정적 구현 원칙은 동일합니다.

1) DedeCms 홈 페이지는 의사 정적입니다.

사이트의 루트 디렉터리에 있는 index.html을 삭제하고 앞으로는 홈페이지 HTML을 업데이트하지 마세요. 물론 동적 전면 페이지를 사용하지 않도록 선택할 수도 있습니다.

2) DedeCms 채널 | 목록 페이지 | 기사 페이지 pseudo-static:

주로 GetFileName() 및 GetTypeUrl() 두 함수를 수정하여 달성됩니다. DedeCms V5.3, DedeCms V5.5 및 DedeCms V5.6 버전의 경우 수정을 위해 /include/channelunit.func.php를 엽니다. 참고: DedeCms V5.7에서는 이 파일의 경로가 변경되었습니다. /include/helpers/channelunit.helper.php를 열 수 있습니다.

A. GetTypeUrl()에서 다음 코드를 변경합니다.

//动态
  $reurl = $GLOBALS[&#39;cfg_phpurl&#39;]."/list.php?tid=".$typeid;
  替换为
  //动态
  $reurl = "/category/list-".$typeid.".html";
로그인 후 복사

B. GetFileName()에서 다음 코드를 변경합니다.

 //动态文章
  if($cfg_rewrite == &#39;Y&#39;)
  {
  return $GLOBALS["cfg_plus_dir"]."/view-".$aid.&#39;-1.html&#39;;
  }
  替换为
  //动态文章
  if($cfg_rewrite == &#39;Y&#39;)
  {
  return "/archives/view-".$aid.&#39;-1.html&#39;;
  }
로그인 후 복사

3) DedeCms 목록 페이징 의사 정적:

Open /include/arc.listview.class.php 및 GetPageListDM() 함수의 끝을 찾아 동적 페이징 목록 가져오기:

 #🎜🎜 #
$plist = str_replace(&#39;.php?tid=&#39;, &#39;-&#39;, $plist);
로그인 후 복사
#🎜 🎜#은

 $plist = str_replace('plus', 'category', $plist);//将默认的plus替换成category
  $plist = str_replace(&#39;.php?tid=&#39;, &#39;-&#39;, $plist);
로그인 후 복사

으로 대체됩니다. 목록 페이징 기본 링크 형식 /plus/list-1-2-1.html을 /category/list-1-2로 변경합니다. -1.html, 이 단계를 변경하지 않고 그대로 둘 수 있습니다.

4) DedeCms 기사 페이징 의사 정적:

Open /include/arc.archives.class.php 및 GetPagebreakDM() 함수를 찾아 동적 페이징 목록 끝 부분:


  $PageList = str_replace(".php?aid=","-",$PageList);
로그인 후 복사

대체됨

 $plist = str_replace(&#39;plus&#39;, &#39;archives&#39;, $plist);//将默认的plus替换成archives
 $PageList = str_replace(".php?aid=","-",$PageList);
로그인 후 복사

5) DedeCmsTAG 태그 의사 정적:

DedeCms默认的TAG标签URL,形如/tags.php?/dedecms5.7/,特别的难看。打开/include/taglib/tag.lib.php,找到lib_tag()函数下的: 

$row[&#39;link&#39;] = $cfg_cmsurl."/tags.php?/".urlencode($row[&#39;keyword&#39;])."/";
로그인 후 복사

替换为

$row[&#39;link&#39;] = $cfg_cmsurl."/tags/".urlencode($row[&#39;keyword&#39;])."/";
로그인 후 복사

到这里,TAG标签URL中的“.php?”号就去掉了。

6)DedeCms搜索伪静态:

DedeCms搜索URL静态化比较麻烦,附带参数多不说,参数也可能变化,像搜索结果分页的URL就特麻烦,伪静态规则匹配复杂。将搜索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都需要简单修改才可以匹配伪静态规则。注意一点,DedeCms V5.7问答模块整体升级了,之前的规则已经不适用了。

4、DedeCms伪静态规则:

依照上面的步骤修改完毕,接下来配置好httpd.ini文件和.htaccess文件伪静态规则,则DedeCms全站伪静态就完美实现。

1)IIS伪静态

打开httpd.ini文件,加入如下规则:

#首页伪静态规则,如果不使用动态首页,请勿必删除这一行,否则打开首页会出现死循环
  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]
  #问答伪静态规则,适用于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 ^category/list-([0-9]+)\.html$ /plus/list.php?tid=$1
  RewriteRule ^category/list-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /plus/list.php?tid=$1&totalresult=$2&PageNo=$3
  RewriteRule ^archives/view-([0-9]+)-([0-9]+)\.html$ /plus/view.php?aid=$1&pageno=$2
        RewriteRule ^index.html$ index.php
로그인 후 복사

更多DedeCMS相关技术文章,请访问DedeCMS教程栏目进行学习!

위 내용은 Dedecms가 사이트 전체에 의사 정적을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

웹 사이트 SEO 최적화: PHP 접미사를 숨기는 유사 정적 숨기기 실습 웹 사이트 SEO 최적화: PHP 접미사를 숨기는 유사 정적 숨기기 실습 Mar 07, 2024 pm 12:27 PM

우리 모두 알고 있듯이 웹사이트 SEO 최적화는 웹사이트 운영에 있어서 매우 중요한 부분입니다. 많은 웹사이트에서 사용하는 동적 웹 시스템(예: PHP)의 기본 URL에는 확장자(.php, .html 등)가 있으며 이는 웹사이트의 SEO 효과에 영향을 미칩니다. 웹사이트의 최적화 효과를 높이기 위해 동적 URL을 유사 정적 URL로 변경하여 확장명을 숨기고 웹사이트의 사용자 경험과 검색 엔진 순위를 높이는 것이 일반적인 관행입니다. 이 기사에서는 "의사 정적 숨겨진 PHP 접미사"를 주제로 PHP 웹사이트에서 이러한 최적화를 달성하는 방법을 소개하고,

Imperial cms 리소스 네트워크 템플릿은 어디에 있습니까? Imperial cms 리소스 네트워크 템플릿은 어디에 있습니까? Apr 17, 2024 am 10:00 AM

Empire CMS 템플릿 다운로드 위치: 공식 템플릿 다운로드: https://www.phome.net/template/ 타사 템플릿 웹사이트: https://www.dedecms.com/diy/https://www.0978.com. cn /https://www.jiaocheng.com/설치 방법: 템플릿 다운로드 템플릿 압축 풀기 템플릿 업로드 템플릿 선택

dedecms가 템플릿 교체를 구현하는 방법 dedecms가 템플릿 교체를 구현하는 방법 Apr 16, 2024 pm 12:12 PM

템플릿 교체는 다음 단계를 통해 Dedecms에서 구현할 수 있습니다. global.cfg 파일을 수정하고 필요한 언어 팩을 설정합니다. taglib.inc.php 후크 파일을 수정하고 언어 접미사 템플릿 파일에 대한 지원을 추가합니다. 언어 접미사가 포함된 새 템플릿 파일을 생성하고 필요한 콘텐츠를 수정합니다. Dedecms 캐시를 지웁니다.

Dedecms는 어떤 웹사이트를 할 수 있나요? Dedecms는 어떤 웹사이트를 할 수 있나요? Apr 16, 2024 pm 12:24 PM

Dedecms는 뉴스 웹사이트, 블로그 웹사이트, 전자상거래 웹사이트, 포럼 및 커뮤니티 웹사이트, 교육 웹사이트, 포털 웹사이트, 기타 유형의 웹사이트(예: 기업 웹사이트)를 비롯한 다양한 유형의 웹사이트를 만드는 데 사용할 수 있는 오픈 소스 CMS입니다. , 개인 웹사이트, 사진 앨범 웹사이트, 동영상 공유 웹사이트)

Dedecms에 로컬 비디오를 업로드하는 방법 Dedecms에 로컬 비디오를 업로드하는 방법 Apr 16, 2024 pm 12:39 PM

Dedecms를 사용하여 로컬 비디오를 업로드하는 방법은 무엇입니까? Dedecms에서 지원하는 형식으로 비디오 파일을 준비하십시오. Dedecms 관리 백엔드에 로그인하고 새 비디오 카테고리를 만듭니다. 영상 관리 페이지에 영상 파일을 업로드하고 관련 정보를 입력한 후 영상 카테고리를 선택하세요. 기사를 편집하면서 동영상을 삽입하려면 업로드된 동영상의 파일 이름을 입력하고 크기를 조정하세요.

Dedecms 사용 방법 Dedecms 사용 방법 Apr 16, 2024 pm 12:15 PM

Dedecms는 콘텐츠 관리, 템플릿 시스템 및 보안 보호를 제공하는 오픈 소스 중국 CMS 시스템입니다. 구체적인 사용법에는 다음 단계가 포함됩니다. 1. Dedecms를 설치합니다. 2. 데이터베이스를 구성합니다. 3. 관리 인터페이스에 로그인합니다. 4. 콘텐츠를 생성합니다. 5. 템플릿을 설정합니다. 6. 사용자를 관리합니다. 7. 시스템을 유지관리한다.

Dedecms에는 어떤 허점이 있습니까? Dedecms에는 어떤 허점이 있습니까? Aug 03, 2023 pm 03:56 PM

DedeCMS는 몇 가지 잠재적인 취약점과 보안 위험이 있는 오픈 소스 콘텐츠 관리 시스템입니다. 1. SQL 주입 취약점. 공격자는 악의적인 SQL 쿼리 문을 구성하여 무단 작업을 수행하거나 민감한 데이터를 얻을 수 있습니다. 2. 파일 업로드 취약점, 공격자는 다음을 포함하는 파일을 업로드할 수 있습니다. 3. 민감한 정보 유출 4. 인증되지 않은 취약점 악용.

웹사이트 보안 향상: 의사 정적 규칙으로 PHP 접미사 숨기기 구현 웹사이트 보안 향상: 의사 정적 규칙으로 PHP 접미사 숨기기 구현 Mar 07, 2024 am 11:33 AM

웹사이트 보안 향상: 의사 정적 규칙은 PHP 접미사 숨기기를 구현합니다. 인터넷이 발전함에 따라 악의적인 공격 방지 및 사용자 데이터 보호를 포함하여 웹사이트 보안 문제가 점점 더 부각되고 있습니다. 효과적인 조치는 유사 정적 규칙을 통해 PHP 접미사를 숨기는 것입니다. 이는 웹사이트 보안을 강화하고 사용자 개인정보를 보호하는 데 도움이 됩니다. 이 목표를 달성하려면 몇 가지 특정 코드 예제를 사용하여 PHP 접미사 숨기기를 달성하는 방법을 보여야 합니다. 먼저 의사정적 규칙이 무엇인지 이해해야 합니다. 의사 정적(Pseudo-static)은 동적 웹 페이지 링크를 다음으로 변환하는 방법입니다.

See all articles