Maison  >  Article  >  Tutoriel CMS  >  Comment dedecms implémente le pseudo-statique sur tout le site

Comment dedecms implémente le pseudo-statique sur tout le site

尚
original
2019-07-20 13:54:463959parcourir

Comment dedecms implémente le pseudo-statique sur tout le site

L'ensemble du site de DedeCms est pseudo-statique, ce qui est pour faciliter la gestion et le référencement. DedeCms génère par défaut des fichiers html statiques, ce qui est très convivial pour l'optimisation, mais il y en a quand même. pages Il se présente sous une forme dynamique (telle qu'une page de balises, une page de recherche de contenu de site Web, une page de questions et réponses DedeCms, etc.) Afin de mieux inclure ces pages dans les moteurs de recherche, il est nécessaire de créer des pages pseudo-statiques. Le système peut générer un fichier HTML statique, mais si la quantité de contenu mis à jour chaque jour est particulièrement importante, la génération de fichiers HTML deviendra également un fardeau pour le système et la main-d'œuvre, de sorte qu'il peut également être transformé en une forme pseudo-statique, éliminant ainsi le problème. besoin d'une génération fastidieuse de fichiers HTML.

Rendre l'ensemble du site DedeCms statique, ce qui nécessite le support du module pseudo-statique mod_rewrite. Tant que le webmaster maîtrise les expressions régulières .htaccess, il peut rendre l'ensemble du site Web dede statique, ce qui est plus conforme aux moteurs de recherche et peut également éviter les URL répétées. La configuration pseudo-statique du site complet de DedeCms est un peu gênante, principalement parce que nous devons modifier manuellement le code source. Les étapes d'organisation sont les suivantes :

1. Tout d'abord, activez la fonction pseudo-statique du site. Connectez-vous au backend de l'administrateur dede->Système->Paramètres de base du système->Paramètres de base->Sélectionnez "Oui" si vous souhaitez utiliser le pseudo-statique.

2. Modifiez le programme source pour obtenir une page d'accueil pseudo-statique, une page de chaîne pseudo-statique, une page de liste pseudo-statique et une page d'article pseudo-statique. n'est pas aussi bon que les autres programmes open source PHP Simple.

3. Créez et écrivez des règles de fichiers .htaccess et .htaccess et téléchargez-les dans le répertoire d'installation de DedeCms.

Tutoriel pseudo-statique complet de DedeCms : comprenant un article de liste | Recherche de questions et réponses | Règles pseudo-statiques TAG :

1. l'espace le prend en charge Pseudo-statique :

Ceci est particulièrement important, sinon tous les paramètres ne fonctionneront pas. Si votre site Web utilise un serveur, vous pouvez le configurer vous-même. S'il s'agit d'un espace, vous pouvez demander au service client du fournisseur de services IDC de voir s'il prend en charge le pseudo-statique (généralement les espaces prennent en charge le pseudo-statique). Le pseudo-statique du serveur Apache est relativement simple, il suffit d'ajouter les règles pseudo-statiques correspondantes directement au fichier .htaccess et pour implémenter le pseudo-statique sur le serveur IIS, vous devez charger le composant Rewrite puis configurer le fichier httpd.ini.

2. Activez le pseudo-statique DedeCMS :

1) Arrière-plan DedeCms - paramètres système - paramètres de base - s'il faut utiliser le pseudo-statique : sélectionnez "Oui" ;

2) Si vous activez le module de questions et réponses DedeCms, en arrière-plan - paramètres système - paramètres du module - s'il faut utiliser Rewrite : sélectionnez "Oui"

3) Lors de la création de colonnes ou ajout de colonnes par lots, options de la liste des colonnes : sélectionnez « Utiliser les pages dynamiques » lors de l'ajout d'un nouvel article, options de publication : sélectionnez « navigation dynamique uniquement ». De même, vous pouvez également modifier leurs modèles afin qu'ils adoptent par défaut ces deux valeurs, une fois pour toutes. La méthode de modification est très simple, la méthode est la suivante :

Trouver le fichier de fond : /dede/templets/catalog_add.htm Modifier la valeur par défaut "Utiliser la page dynamique" lors de l'ajout de colonnes

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

Remplacer par :

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

Rechercher le fichier d'arrière-plan : /dede/templets/article_add.htm Modifier la valeur par défaut "navigation dynamique uniquement" lors de l'ajout d'articles

<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) Si le site Web a déjà généré des colonnes statiques ou un article HTML, il vous suffit d'exécuter l'instruction suivante dans l'outil de ligne de commande background-system-SQL :

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

Remarque : dede in la commande est le préfixe de la table de données lorsque le site Web est installé. Remplacez en fonction de la situation réelle.

3. L'activation du support pseudo-statique de DedeCms ne peut pas être complètement configurée en arrière-plan. De nombreux endroits doivent encore être modifiés manuellement. Ce qui suit explique la méthode d'implémentation du pseudo-statique site complet DedeCms, qui est applicable à la version 5.3 et supérieure. Cette fois, l'environnement de test pseudo-statique de DedeCms est Windows IIS6. Le principe d'implémentation pseudo-statique pour Linux ou autres serveurs est le même, à condition que l'idée soit claire.

1) La page d'accueil de DedeCms est pseudo-statique :

Supprimez index.html dans le répertoire racine du site et ne mettez pas à jour le HTML de la page d'accueil à l'avenir. Bien sûr, vous pouvez également choisir. ne pas utiliser de page d'accueil dynamique.

2) Canal DedeCms | page de liste | page d'article pseudo-statique :

Principalement réalisé en modifiant les deux fonctions GetFileName() et GetTypeUrl(). Pour les versions DedeCms V5.3, DedeCms V5.5 et DedeCms V5.6, ouvrez /include/channelunit.func.php pour modification. Remarque : DedeCms V5.7, le chemin de ce fichier a changé, vous pouvez ouvrir /include/helpers/channelunit.helper.php.

A. Modifiez le code suivant dans GetTypeUrl() :

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

B. Modifiez le code suivant dans 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) Pagage de liste DedeCms pseudo-statique :

Ouvrez /include/arc.listview.class.php et recherchez la fin de la fonction GetPageListDM() pour obtenir la liste de pagination dynamique :
 Remplacez

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

par

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

Changez le format de lien par défaut de la pagination de la liste /plus/list-1-2-1.html en /category/list-1-2-1.html Cette étape n'a pas besoin d'être modifiée.

4) Paging pseudo-statique de l'article DedeCms :

Ouvrez /include/arc.archives.class.php et recherchez l'extrémité de la fonction GetPagebreakDM() pour obtenir la dynamique liste de pagination :

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

est remplacé par

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

5) Balise DedeCmsTAG pseudo-statique :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn