ホームページ CMS チュートリアル DEDECMS DedeCMSシステムでTAGタグとページング擬似静的を設定する方法

DedeCMSシステムでTAGタグとページング擬似静的を設定する方法

Dec 14, 2019 am 10:02 AM
dedecms

DedeCMSシステムでTAGタグとページング擬似静的を設定する方法

DedeCMS システムで TAG タグとページング擬似静的を設定する方法?

多くの CMS システムには TAG が搭載されています。有名な DEDECMS にもこの機能はありますが、ラベル機能が非常に貧弱であり、SEO の最適化に役立たないと同時に、現在のページがサイト上に存在しない場合など、多くの問題があります。前のページでは、リンクが「-1」になっており、「このラベルはシステムに存在しないため、削除された可能性があります。」という問題もあります。

推奨学習: 梦Weavercms

今日は、ラベルを疑似静的に作成する方法 (一部の情報はインターネットから得ます) を説明します。また、ラベルの一部を修正します。上記のバグ。

1. フロントエンド表示リンクを変更する

ここで達成される効果は、元の /tags.php?keywords を /tags/keywords.html に変更することです。

ここでは主に呼び出されたタグを変更します。/include/taglib/tag.lib.php の 87 行目で

$row['link'] = $cfg_cmsurl."/tags?".urlencode($row['keyword']);  
ログイン後にコピー

を見つけて、次のように変更します:

$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword']).".html";
ログイン後にコピー

2ページング コード部分を変更する

include/arc.taglist.class.php を変更し、ページング関数を見つけて次のように置き換える必要があります:

/** 
* 获取动态的分页列表 
* 
* @access public 
* @param int $list_len 列表宽度 
* @param string $listitem 列表样式 
* @return string 
*/
function GetPageListDM($list_len,$listitem="info,index,end,pre,next,pageno") 
{ 
$prepage=""; 
$nextpage=""; 
$prepagenum = $this->PageNo - 1; 
$nextpagenum = $this->PageNo + 1; 
if($list_len == "" || preg_match("/[^0-9]/", $list_len)) 
{ 
$list_len = 3; 
} 
$totalpage = $this->TotalPage; 
if($totalpage <= 1 && $this->TotalResult > 0) 
{ 
return "<span class=\"pageinfo\">共1页/".$this->TotalResult."条</span>"; 
} 
if($this->TotalResult == 0) 
{ 
return "<span class=\"pageinfo\">共0页/".$this->TotalResult."条</span>"; 
} 
$maininfo = "<span class=\"pageinfo\">共{$totalpage}页/".$this->TotalResult."条</span>\r\n"; 
$purl = $this->GetCurUrl(); 
$basename = basename($purl); 
$tmpname = explode('.', $basename); 
 
$purl = str_replace($basename, '', $purl).urlencode($this->Tag); 
//var_dump($purl);exit; 
//$purl .= "?/".urlencode($this->Tag); 
 
//获得上一页和下一页的链接 
//if($this->PageNo != 1) 这是修正上一页为负数的问题
        if($this->PageNo != 1 && $this->PageNo != "")
{ 
$prepage.="<li><a href='".$purl."-$prepagenum'.html>上一页</a></li>\r\n"; 
$indexpage="<li><a href='".$purl."-1.html'>首页</a></li>\r\n"; 
} 
else
{ 
$indexpage="<li><a>首页</a></li>\r\n"; 
} 
if($this->PageNo!=$totalpage && $totalpage>1) 
{ 
$nextpage.="<li><a href='".$purl."-$nextpagenum.html'>下一页</a></li>\r\n"; 
$endpage="<li><a href='".$purl."-$totalpage.html'>末页</a></li>\r\n"; 
} 
else
{ 
$endpage="<li><a>末页</a></li>\r\n"; 
} 
 
//获得数字链接 
$listdd=""; 
$total_list = $list_len * 2 + 1; 
if($this->PageNo >= $total_list) 
{ 
$j = $this->PageNo - $list_len; 
$total_list = $this->PageNo + $list_len; 
if($total_list > $totalpage) 
{ 
$total_list = $totalpage; 
} 
} 
else
{ 
$j=1; 
if($total_list > $totalpage) 
{ 
$total_list = $totalpage; 
} 
} 
for($j; $j<=$total_list; $j++) 
{ 
if($j == $this->PageNo) 
{ 
$listdd.= "<li class=\"thisclass\"><a>$j</a></li>\r\n"; 
} 
else
{ 
$listdd.="<li><a href='".$purl."-$j.html'>".$j."</a></li>\r\n"; 
} 
} 
$plist = ''; 
if(preg_match('/info/i', $listitem)) 
{ 
$plist .= $maininfo.' '; 
} 
if(preg_match('/index/i', $listitem)) 
{ 
$plist .= $indexpage.' '; 
} 
if(preg_match('/pre/i', $listitem)) 
{ 
$plist .= $prepage.' '; 
} 
if(preg_match('/pageno/i', $listitem)) 
{ 
$plist .= $listdd.' '; 
} 
if(preg_match('/next/i', $listitem)) 
{ 
$plist .= $nextpage.' '; 
} 
if(preg_match('/end/i', $listitem)) 
{ 
$plist .= $endpage.' '; 
} 
return $plist; 
}
ログイン後にコピー

3. 疑似静的ルールを設定します。

iis7 を例として、次のルールを設定します:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
<system.webServer> 
<rewrite> 
<rules> 
<rule name="weather1" stopProcessing="true"> 
<match url="tags/([^-]+)\.html$" ignoreCase="true" /> 
<conditions logicalGrouping="MatchAll"> 
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
</conditions> 
<action type="Rewrite" url="/tags.php?/{R:1}" appendQueryString="false" /> 
</rule> 
<rule name="weather2" stopProcessing="true"> 
<match url="tags/([^-]+)-([0-9]+)\.html$" ignoreCase="true" /> 
<conditions logicalGrouping="MatchAll"> 
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
</conditions> 
<action type="Rewrite" url="/tags.php?/{R:1}/{R:2}" appendQueryString="false" /> 
</rule> 
</rules> 
</rewrite> 
</system.webServer> 
</configuration>
ログイン後にコピー

以上がDedeCMSシステムでTAGタグとページング擬似静的を設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

インペリアル cms リソース ネットワーク テンプレートはどこにありますか? インペリアル cms リソース ネットワーク テンプレートはどこにありますか? Apr 17, 2024 am 10:00 AM

インペリアル cms リソース ネットワーク テンプレートはどこにありますか?

dedecmの使い方 dedecmの使い方 Apr 16, 2024 pm 12:15 PM

dedecmの使い方

正確で信頼性の高い dedecms 変換ツールの評価レポート 正確で信頼性の高い dedecms 変換ツールの評価レポート Mar 12, 2024 pm 07:03 PM

正確で信頼性の高い dedecms 変換ツールの評価レポート

ローカルビデオを dedecms にアップロードする方法 ローカルビデオを dedecms にアップロードする方法 Apr 16, 2024 pm 12:39 PM

ローカルビデオを dedecms にアップロードする方法

dedecms がテンプレート置換を実装する方法 dedecms がテンプレート置換を実装する方法 Apr 16, 2024 pm 12:12 PM

dedecms がテンプレート置換を実装する方法

dedecmsエンコード変換関数を学ぶ簡単な方法 dedecmsエンコード変換関数を学ぶ簡単な方法 Mar 14, 2024 pm 02:09 PM

dedecmsエンコード変換関数を学ぶ簡単な方法

dedecms とはどういう意味ですか? dedecms とはどういう意味ですか? Apr 16, 2024 pm 12:48 PM

dedecms とはどういう意味ですか?

dedecmsにはどのような抜け穴があるのでしょうか? dedecmsにはどのような抜け穴があるのでしょうか? Aug 03, 2023 pm 03:56 PM

dedecmsにはどのような抜け穴があるのでしょうか?

See all articles