Apache / nginx / IIS / dedecmsは、タグの疑似静的構成ルールを織り込むことを夢見ています

dedecmsのタグタグはキーワードを管理するための優れた機能です。タグタグを介して関連するキーワードコンテンツを見つけることができるので、TAGSを静的にする方法

1.dedecmsプログラムディレクトリでtags.phpを見つけます。$ PageNo = 1から見つかったコードをexit();に開きます(以下を参照)。これらのコードを次のコードに置き換えます。

//tag伪静态

$tagid = (isset($tagid) && is_numeric($tagid)) ? $tagid : 0;

$PageNo = (isset($PageNo) && is_numeric($PageNo)) ? $PageNo : 1;

if ($tagid =="0") {

$dlist = new TagList($tag, 'tag.htm');

$dlist->Display();}

else{$row = $dsql->GetOne("SELECT tag FROM `tagindex` WHERE id ={$tagid}");

if (!is_array($row)) {ShowMsg('系统无此tag', '-1');

exit();}

$tag = FilterSearch($row['tag']);

$dlist = new TagList($tag, 'taglist.htm');

$dlist->Display();}

exit();

 

2.ページングコードを変更します。また、include / arc.taglist.class.phpを開き、//前のページと次のページへのリンクを見つけます。//前のページと次のページのリンクを取得する//次の関数で番号のリンクを取得する//の間のページング関数を置き換えます。2。TAGがタグを呼び出します。include / taglib / tag.lib.phpファイルを開き、$ row ['link'] = $ cfg_cmsurl。 "/ tags.php?/"。urlencode($ row ['keyword'])。 "/";を見つけます。コード。$ row ['link'] = "/ tags / {$ row ['id']}。html";に置き換えます(記号はすべて中国語ではなく英語であることに注意してください。そうしないと、記号が見つからず、変更は失敗します)

if($this->PageNo != 1)

{

$prepage.="<li><a href='".$purl."/$prepagenum/'>上一页</a></li>\r\n";

$indexpage="<li><a href='".$purl."/1/'>首页</a></li>\r\n";

}

else

{

$indexpage="<li><a>首页</a></li>\r\n";

}

if($this->PageNo!=$totalpage && $totalpage>1)

{

$nextpage.="<li><a href='".$purl."/$nextpagenum/'>下一页</a></li>\r\n";

$endpage="<li><a href='".$purl."/$totalpage/'>末页</a></li>\r\n";

}

else

{

$endpage="<li><a>末页</a></li>\r\n";  }

RewriteEngine on4、疑似静的ルールを設定します。新しいtxtテキストを作成し、次の疑似静的ルールをテキストに追加します。次に、それを.htaccessとして保存し、Webサイトのルートディレクトリにアップロードします(疑似静的ファイル.htaccessがある場合は、.htaccessを上書きしないでください。開いて次のルールを追加するだけで保存できます)。

Apacheでのdedecmsタグの疑似静的ルール

RewriteBase /

RewriteRule ^ tags /([0-9] +)_([0-9] +)。html $ tags.php?tagid = $ 1&PageNo = $ 2 [L]

RewriteRule ^ tags /([0-9] +)。html $ tags.php?tagid = $ 1 [L]

疑似静的生成は成功したが、夢にアクセスしたときに404ページが表示され、疑似静的ルールが設定されていない場合は、独自のWebサイトの動作環境(iis nginx apache)に従って対応するルールを作成する必要があります。

nginxでのdeccmsタグの疑似静的ルール

"^ / tags /([0-9] +)。html $" /tags.php?tagid=$1last;を書き直します。
"^ / tags /([0-9] +)_([0-9] +)。html $" /tags.php?tagid=$1&PageNo=$2last;を書き換えます。


IIS(web.config)でのdedecmsタグの疑似静的ルール

<configuration>
 
    <system.webServer>
 
        <rewrite>
 
            <rules>
 
                <rule name = "weather1" stopProcessing = "true">
 
                    <match url = "tags /([0-9] +)。html $" ignoreCase = "true "/>
 
                    <conditionslogicalGrouping =" MatchAll ">
 
                        <add input =" {REQUEST_FILENAME} "matchType =" IsFile "negate =" true "/>
 
                        <add input =" {REQUEST_FILENAME} "matchType =" IsDirectory "negate =" true "/>
 
                    </ Conditions>
 
                    <action type =" Rewrite "url =" / tags。php?tagid = $ 1 "appendQueryString =" false "/>
 
                </ rule>
 
                <rule name =" weather2 "stopProcessing =" true ">
 
                    <match url = "tags /([0-9] +)_([0-9] +)。html $" ignoreCase = "true" />
 
                    <conditionslogicalGrouping = "MatchAll">
 
                        <add input = "{REQUEST_FILENAME } "matchType =" IsFile "negate =" true "/>
 
                        <add input =" {REQUEST_FILENAME} "matchType =" IsDirectory "negate =" true "/>
 
                    </ Conditions >
 
                    <action type =" Rewrite "url =" / tags.php?tagid = $ 1&PageNo = $ 2 "appendQueryString =" false "/>

                </ rule>
 
            </ rules>
 
        </ rewrite>
 
    </system.webServer>
 
</ configuration>

おすすめ

転載: blog.csdn.net/qq_39339179/article/details/109806174