Heim >CMS-Tutorial >DEDECMS >Wie dedecms Pseudostatik auf der gesamten Website implementiert

Wie dedecms Pseudostatik auf der gesamten Website implementiert

尚
Original
2019-07-20 13:54:464014Durchsuche

Wie dedecms Pseudostatik auf der gesamten Website implementiert

Die gesamte Website von DedeCms ist pseudostatisch, was die Verwaltung und SEO erleichtern soll. DedeCms generiert standardmäßig statische HTML-Dateien, was sehr optimierungsfreundlich ist, aber es gibt immer noch einige Es handelt sich um eine dynamische Form (z. B. Tag-Seite, Website-Inhaltssuchseite, DedeCms-Fragenseite usw.), obwohl die DedeCms Das System kann statische HTML-Dateien generieren. Wenn jedoch die Menge der täglich aktualisierten Inhalte besonders groß ist, stellt die Generierung von HTML-Dateien auch eine Belastung für das System und die Arbeitskräfte dar, sodass sie auch in eine pseudostatische Form gebracht werden können, wodurch dies entfällt Notwendigkeit einer mühsamen Generierung von HTML-Dateien.

Machen Sie die gesamte DedeCms-Site statisch, was die Unterstützung des pseudostatischen Moduls mod_rewrite erfordert. Solange der Webmaster die regulären Ausdrücke von .htaccess beherrscht, kann er die gesamte dede-Website statisch machen, was besser zu Suchmaschinen passt und auch wiederholte URLs vermeiden kann. Die pseudostatische Konfiguration der gesamten Site von DedeCms ist etwas mühsam, hauptsächlich weil wir den Quellcode manuell ändern müssen. Die Organisationsschritte sind wie folgt:

1. Aktivieren Sie zunächst die pseudostatische Funktion der Site. Melden Sie sich beim Dede-Administrator-Backend an->System->Systemgrundparameter->Kerneinstellungen->Wählen Sie „Ja“, ob Pseudostatik verwendet werden soll.

2. Ändern Sie das Quellprogramm, um eine pseudostatische Homepage, eine pseudostatische Listenseite und eine pseudostatische Artikelseite zu erreichen ist nicht so gut wie andere PHP-Open-Source-Programme.

3. Erstellen und schreiben Sie .htaccess- und .htaccess-Dateiregeln und laden Sie sie in das Installationsverzeichnis von DedeCms hoch.

DedeCms vollständiges Pseudostatisches Tutorial |. TAG Pseudostatische Regeln:

1 space support it Pseudostatisch:

Dies ist besonders wichtig, sonst funktionieren alle Einstellungen nicht. Wenn Ihre Website einen Server verwendet, können Sie ihn selbst einrichten. Wenn es sich um einen Space handelt, können Sie den Kundendienst des IDC-Dienstanbieters fragen, ob er Pseudostatik unterstützt (allgemeine Spaces unterstützen Pseudostatik). Die Pseudostatik des Apache-Servers ist relativ einfach. Fügen Sie einfach die entsprechenden Pseudostatikregeln direkt zur .htaccess-Datei hinzu. Um die Pseudostatik auf dem IIS-Server zu implementieren, müssen Sie die Rewrite-Komponente laden und dann die Datei httpd.ini konfigurieren.

2. DedeCMS-Pseudostatik aktivieren:

1) DedeCms-Hintergrund – Systemparameter – Kerneinstellungen – ob Pseudostatik verwendet werden soll: Wählen Sie „Ja“;

2) Wenn Sie das DedeCms-Frage- und Antwortmodul aktivieren, im Hintergrund – Systemparameter – Moduleinstellungen – ob Rewrite verwendet werden soll: Wählen Sie „Ja“; Hinzufügen von Spalten in Stapeln, Spaltenlistenoptionen: Wählen Sie „Dynamische Seiten verwenden“; beim Hinzufügen eines neuen Artikels, Veröffentlichungsoptionen: Wählen Sie „Nur dynamisches Browsen“. Ebenso können Sie ihre Vorlagen so ändern, dass sie ein für alle Mal standardmäßig diese beiden Werte verwenden. Die Änderungsmethode ist sehr einfach, die Methode lautet wie folgt:

Suchen Sie die Hintergrunddatei: /dede/templets/catalog_add.htm Ändern Sie die Standardeinstellung „Dynamische Seite verwenden“ beim Hinzufügen von Spalten

<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>

Ändern Sie zu:

<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>

Suchen Sie die Hintergrunddatei: /dede/templets/article_add.htm Ändern Sie die Standardeinstellung „Nur dynamisches Browsen“ beim Hinzufügen von Artikeln

<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>

in:

<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) Wenn die Website bereits statische Spalten oder Artikel-HTML generiert hat, müssen Sie nur die folgende Anweisung im Hintergrundsystem-SQL-Befehlszeilentool ausführen:

update dede_arctype set isdefault=-1;
update dede_archives set ismake=-1;

Hinweis: dede in Der Befehl ist das Datentabellenpräfix, wenn die Website entsprechend der tatsächlichen Situation ersetzt wird.

3. Die Aktivierung der pseudostatischen DedeCms-Unterstützung kann nicht vollständig im Hintergrund konfiguriert werden. Es gibt viele Stellen, die noch manuell geändert werden müssen. Im Folgenden wird die Implementierungsmethode von DedeCms Full-Site-Pseudostatik erläutert, die für Version 5.3 und höher gilt. Diesmal ist die pseudostatische Testumgebung von DedeCms Windows IIS6. Das Prinzip der pseudostatischen Implementierung für Linux oder andere Server ist dasselbe, solange die Idee klar ist.

1) Die DedeCms-Homepage ist pseudostatisch:

Löschen Sie index.html im Stammverzeichnis der Site und aktualisieren Sie den HTML-Code der Homepage in Zukunft nicht. Natürlich können Sie auch wählen keine dynamische Homepage zu verwenden.

2) DedeCms-Kanal |. Artikelseite pseudostatisch:

Wird hauptsächlich durch Modifizieren der beiden Funktionen GetFileName() und GetTypeUrl() erreicht. Öffnen Sie für die Versionen DedeCms V5.3, DedeCms V5.5 und DedeCms V5.6 /include/channelunit.func.php zur Änderung. Hinweis: DedeCms V5.7, der Pfad dieser Datei hat sich geändert, Sie können /include/helpers/channelunit.helper.php öffnen.

A. Ändern Sie den folgenden Code in GetTypeUrl():

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

B. Ändern Sie den folgenden Code in 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-Listen-Paging pseudostatisch :

Öffnen Sie /include/arc.listview.class.php und suchen Sie das Ende der GetPageListDM()-Funktion, um die dynamische Paging-Liste zu erhalten:

 Ersetzen Sie

$plist = str_replace(&#39;.php?tid=&#39;, &#39;-&#39;, $plist);

durch

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

Ändern Sie das Standard-Linkformat der Listenseite /plus/list-1-2-1.html in /category/list-1-2-1.html. Dieser Schritt muss nicht geändert werden.


4) Pseudostatisches DedeCms-Artikel-Paging:

Öffnen Sie /include/arc.archives.class.php und suchen Sie das Endstück der Funktion GetPagebreakDM(), um die Dynamik zu erhalten Paging-Liste:

  $PageList = str_replace(".php?aid=","-",$PageList);

wird ersetzt durch

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

5) DedeCmsTAG-Tag pseudostatisch:

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教程栏目进行学习!

Das obige ist der detaillierte Inhalt vonWie dedecms Pseudostatik auf der gesamten Website implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn