dedecms がサイト全体に擬似静的機能を実装する方法
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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











ご存知のとおり、Web サイトの SEO の最適化は Web サイト運営において非常に重要な部分です。多くの Web サイトで使用される動的 Web システム (PHP など) のデフォルト URL には拡張子 (.php、.html など) が付いており、Web サイトの SEO 効果に影響します。 Web サイトの最適化効果を高めるために、動的 URL を疑似静的 URL に変更して拡張機能名を隠し、Web サイトのユーザー エクスペリエンスと検索エンジンのランキングを向上させるのが一般的です。この記事では、「疑似静的非表示 php サフィックス」をテーマに、PHP Web サイトでこの最適化を実現する方法を紹介します。

Empire CMS テンプレートのダウンロード場所: 公式テンプレートのダウンロード: https://www.phome.net/template/ サードパーティのテンプレート Web サイト: https://www.dedecms.com/diy/https://www.0978.com。 cn /https://www.jiaocheng.com/インストール方法: テンプレートをダウンロード テンプレートを解凍 テンプレートをアップロード テンプレートを選択

テンプレートの置換は、次の手順で Dedecms に実装できます: global.cfg ファイルを変更し、必要な言語パックを設定します。 taglib.inc.php フック ファイルを変更し、言語サフィックス テンプレート ファイルのサポートを追加します。言語サフィックスを含む新しいテンプレート ファイルを作成し、必要な内容を変更します。 Dececms キャッシュをクリアします。

Dedecms は、ニュース Web サイト、ブログ、電子商取引 Web サイト、フォーラムおよびコミュニティ Web サイト、教育 Web サイト、ポータル、その他のタイプの Web サイト (企業 Web サイト、個人 Web サイトなど) を含む、さまざまなタイプの Web サイトの作成に使用できるオープン ソース CMS です。ウェブサイト、フォトアルバムウェブサイト、ビデオ共有ウェブサイト)

Dedecms を使用してローカルビデオをアップロードするにはどうすればよいですか? Dedecms がサポートする形式のビデオ ファイルを準備します。 Dedecms 管理バックエンドにログインし、新しいビデオ カテゴリを作成します。動画管理ページで動画ファイルをアップロードし、関連情報を入力して動画カテゴリを選択します。記事の編集中にビデオを埋め込むには、アップロードしたビデオのファイル名を入力し、サイズを調整します。

Dedecms は、コンテンツ管理、テンプレート システム、セキュリティ保護を提供するオープン ソースの中国製 CMS システムです。具体的な使用方法には次の手順が含まれます。 1. Dedecms をインストールします。 2. データベースを構成します。 3. 管理インターフェイスにログインします。 4. コンテンツを作成します。 5. テンプレートを設定します。 6. ユーザーを管理します。 7. システムを保守します。

DedeCMS はオープン ソースのコンテンツ管理システムであり、潜在的な脆弱性とセキュリティ リスクがいくつかあります: 1. SQL インジェクションの脆弱性。攻撃者は悪意のある SQL クエリ ステートメントを構築することで、不正な操作を実行したり、機密データを取得したりできます。2. ファイル アップロードの脆弱性。攻撃者は、次の内容を含むファイルをアップロードできます。悪意のあるコードをサーバーに送信して任意のコードを実行したり、サーバーの権限を取得したりする; 3. 機密情報の漏洩; 4. 認証されていない脆弱性の悪用。

Web サイトのセキュリティの向上: 疑似静的ルールは PHP サフィックスの非表示を実装します。インターネットの発展に伴い、悪意のある攻撃の防止やユーザー データの保護など、Web サイトのセキュリティの問題がますます顕著になってきています。効果的な対策は、疑似静的ルールによって PHP サフィックスを非表示にすることです。これにより、Web サイトのセキュリティが向上し、ユーザーのプライバシーが保護されます。この目標を達成するには、いくつかの具体的なコード例を使用して、PHP サフィックスの非表示を実現する方法を示す必要があります。まず、擬似静的ルールとは何かを理解する必要があります。擬似静的は、動的な Web ページのリンクを次のように変換する方法です。
