DedeCms のサイト全体は、管理と SEO を容易にするために擬似静的です。DedeCms はデフォルトで静的 HTML ファイルを生成します。これは最適化に非常に適していますが、まだいくつかのファイルが存在します。ページは動的形式です (タグ ページ、Web サイト コンテンツ検索ページ、DedeCms Q&A ページなど)。これらのページを検索エンジンにより適切に含めるためには、擬似静的ページを作成する必要があります。システムでは静的なHTMLファイルを生成することもできますが、毎日更新されるコンテンツの量が特に多い場合、HTMLファイルの生成もシステムや人手に負担となるため、擬似的に静的な形式にして、HTMLファイルの生成を不要にすることもできます。面倒な HTML ファイルの生成が必要になります。
DedeCms サイト全体を静的にします。これには、mod_rewrite 擬似静的モジュールのサポートが必要です。 Web マスターが .htaccess 正規表現に精通している限り、dede Web サイト全体を静的にすることができます。これにより、検索エンジンとの整合性が高まり、URL の繰り返しも回避できます。 DedeCms のフルサイトの擬似静的構成は、主にソース コードを手動で変更する必要があるため、少し面倒です。整理手順は次のとおりです:
1. まず、サイトの擬似静的機能を有効にします。 DEDE 管理者バックエンドにログイン -> システム -> システム基本パラメータ -> コア設定 -> 擬似静的を使用するかどうか「はい」を選択します。
2. ソースプログラムを修正して、擬似静的ホームページ、擬似静的チャンネルページ、擬似静的リストページ、擬似静的記事ページを実現します。他の PHP オープンソース プログラムほど優れたものではありませんが、シンプルです。
3. .htaccess および .htaccess ファイル ルールを作成して書き込み、DedeCms のインストール ディレクトリにアップロードします。
DedeCms フルサイト擬似静的チュートリアル: list|article|Q&A|search|TAG 擬似静的ルールを含む:
1. Web サイトサーバーと Web サイトかどうかスペースはそれをサポートします 擬似静的:
これは特に重要であり、そうでないとすべての設定が機能しません。 Web サイトがサーバーを使用している場合は、自分でセットアップできますが、スペースの場合は、IDC サービス プロバイダーのカスタマー サービスに擬似静的をサポートしているかどうかを問い合わせることができます (一般的なスペースは擬似静的をサポートしています)。 Apache サーバーの擬似静的機能は比較的単純で、対応する擬似静的ルールを .htaccess ファイルに直接追加するだけです。また、IIS サーバーに擬似静的機能を実装するには、Rewrite コンポーネントをロードして httpd.ini ファイルを構成する必要があります。
2. DedeCMS 擬似静的をオンにする:
1) DedeCms バックエンド - システム パラメーター - コア設定 - 擬似静的を使用するかどうか: 「はい」を選択します。
2) DedeCms 質問と回答モジュールを有効にした場合、バックグラウンドで - システム パラメーター - モジュール設定 - Rewrite を使用するかどうか: 「はい」を選択;
3) 列を作成するときまたはバッチで列を追加する場合、列リスト オプション: [動的ページを使用する] を選択します。新しい記事を追加する場合、公開オプション: [動的ブラウジングのみ] を選択します。同様に、これら 2 つの値がデフォルトになるようにテンプレートを変更することもできます。変更方法は非常に簡単で、次のとおりです。
バックグラウンド ファイルを見つけます: /dede/templets/catalog_add.htm 列を追加するときにデフォルトの「動的ページを使用する」を変更します
<td height="26" style="padding-left:10px;">栏目列表选项:</td> <td><input type='radio' name='isdefault' value='1' class='np' checked="checked" />链接到默认页 <input type='radio' name='isdefault' value='0' class='np' />链接到列表第一页 <input type='radio' name='isdefault' value='-1' class='np' />使用动态页</td>
変更点:
<td height="26" style="padding-left:10px;">栏目列表选项:</td> <td><input type='radio' name='isdefault' value='1' class='np' />链接到默认页 <input type='radio' name='isdefault' value='0' class='np' />链接到列表第一页 <input type='radio' name='isdefault' value='-1' checked="checked" class='np' />使用动态页</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>
変更点:
<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) Web サイトに静的列または記事 HTML がすでに生成されている場合は、background-system-SQL コマンド ライン ツールで次のステートメントを実行するだけです:
update dede_arctype set isdefault=-1; update dede_archives set ismake=-1;
注: dedeコマンド内のデータテーブルプレフィックスはWebサイトインストール時のデータテーブルプレフィックスですので、実際の状況に応じて置き換えてください。
3. DedeCms の擬似静的サポートをオンにすることは、バックグラウンドで完全に構成することはできず、手動で変更する必要がある箇所が多数あります。 V5.3以降に適用可能なDedeCmsフルサイト擬似静的実装方法について説明します。今回の DedeCms 擬似静的テスト環境は Windows IIS6 ですが、考え方が明確であれば、Linux や他のサーバーでも擬似静的実装の原理は同じです。
1) DedeCms の疑似静的ホームページ:
サイトのルート ディレクトリにあるindex.html を削除し、今後ホームページの HTML を更新しないでください。また、動的ホームページを使用しないことも選択します。
2) DedeCms チャンネル | リスト ページ | 記事ページ 擬似静的:
主に、GetFileName() と GetTypeUrl() の 2 つの関数を変更することで実現されます。 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['cfg_phpurl']."/list.php?tid=".$typeid; 替换为 //动态 $reurl = "/category/list-".$typeid.".html";
B. GetFileName() の次のコードを変更します:
//动态文章 if($cfg_rewrite == 'Y') { return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html'; } 替换为 //动态文章 if($cfg_rewrite == 'Y') { return "/archives/view-".$aid.'-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-1.html を /category/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默认的TAG标签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'])."/";
到这里,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 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

メモ帳++7.3.1
使いやすく無料のコードエディター

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン
