{"id":5788,"date":"2025-04-10T17:33:40","date_gmt":"2025-04-10T09:33:40","guid":{"rendered":"https:\/\/www.baishitou.cn\/?p=5788"},"modified":"2025-04-11T16:57:20","modified_gmt":"2025-04-11T08:57:20","slug":"dedebiz%e4%bc%aa%e9%9d%99%e6%80%81url%e5%9c%b0%e5%9d%80%e5%92%8c%e7%94%9f%e6%88%90%e9%9d%99%e6%80%81url%e5%9c%b0%e5%9d%80%e4%bf%9d%e6%8c%81%e4%b8%80%e8%87%b4%e7%9a%84%e6%96%b9%e6%b3%95","status":"publish","type":"post","link":"https:\/\/www.baishitou.cn\/5788.html","title":{"rendered":"DEDEBIZ\u4f2a\u9759\u6001URL\u5730\u5740\u548c\u751f\u6210\u9759\u6001URL\u5730\u5740\u4fdd\u6301\u4e00\u81f4\u7684\u65b9\u6cd5"},"content":{"rendered":"
DEDEBIZ\u662f\u7531\u539fDEDECMS\u5f00\u53d1\u800c\u6765\u7684\uff0cDedeBIZ\u7cfb\u7edf\u57fa\u4e8ePHP7\u7248\u672c\u5f00\u53d1\uff0c\u4ee3\u7801\u8fdb\u884c\u4e86\u4f18\u5316\u91cd\u6784\uff0c\u5ef6\u7eed\u4e4b\u524d\u7684\u6807\u7b7e\uff0c\u4ee5\u524d\u7684\u6a21\u677f\u62ff\u8fc7\u6765\u90fd\u662f\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u7684\uff0c\u5982\u679c\u539f\u6765\u7528\u7684DEDECMS\u7684\u7cfb\u7edf\uff0c\u6267\u884c\u4e00\u4e0b\u5347\u7ea7\u7a0b\u5e8f\uff0c \u5c31\u53ef\u4ee5\u8f6c\u5230DEDEBIZ\u7a0b\u5e8f\uff0cDEDEBIZ\u5bf9URL\u5730\u5740\u8fdb\u884c\u4e86\u4fee\u6539\uff0c\u5982\u679c\u662f\u751f\u6210\u9759\u6001\uff0cURL\u5730\u5740\u662f\u548c\u4ee5\u524dDEDCMS\u4e00\u6837\u7684\uff0c\u5982\u679c\u662f\u7528\u4f2a\u9759\u6001\uff0c\u5b83\u7684\u5730\u5740\u5168\u90e8\u6539\u5199\u4e86\uff0c\u5373\u4e0b\u9762\u683c\u5f0f\uff1a<\/p>\n
\u680f\u76eeURL\u5730\u5740\u4e3a\uff1a\u7f51\u5740\/list\/\u680f\u76eeID\uff08\u5982\u680f\u76ee\u4e00\u7684URL\u5730\u5740\u4e3a\/list\/1\uff0c\u680f\u76ee\u4e8c\u7684URL\u5730\u5740\u4e3a\/list\/2,\u680f\u76ee\u4e09\u7684URL\u5730\u5740\u4e3a\/list\/3\uff09<\/p>\n
\u680f\u76ee\u5206\u9875URL\u5730\u5740\u4e3a\uff1a\u7f51\u5740\/list\/\u680f\u76eeID-\u9875\u7801<\/p>\n
\u5185\u5bb9\u9875URL\u5730\u5740\uff1a\u7f51\u5740\/article\/\u6587\u7ae0ID.html<\/p>\n
\u5185\u5bb9\u5206\u9875URL\u5730\u5740:\u7f51\u5740\/article\/\u6587\u7ae0ID-\u9875\u7801.html<\/p>\n
\u680f\u76ee\u548c\u5185\u5bb9\u9875\u7684URL\u5730\u5740\u91cc\u90fd\u662f\u56fa\u5b9a\u6b7b\u4e86\uff0c\u53ea\u662f\u540e\u9762\u7684ID\u4e0d\u540c\u3002<\/p>\n
\u800c\u4ee5\u524d\u7684DEDECMS\u7684URL\u5730\u5740\u4e3a\uff1a<\/p>\n
\u5217\u8868\u9875\u2003 http:\/\/www.xxxx.com\/news\/
\n\u5217\u8868\u5206\u9875 http:\/\/www.xxxxcom\/news\/list_1_2.html
\n\u5185\u5bb9\u9875\u2003\u2003\u2003 http:\/\/www.xxxx.com\/xinwenzixun\/6.html
\n\u5185\u5bb9\u9875\u5206\u9875\u2003 http:\/\/www.xxxx.com\/news\/6_2.html<\/p>\n
\u5982\u679c\u662f\u4ee5\u524d\u7684\u8001\u7ad9\u8f6c\u8fc7\u6765\u7684\u8bdd\uff0c\u90a3\u4e48URL\u5730\u5740\u5168\u53d8\u4e86\uff0c\u4ee5\u524d\u7684\u6536\u5f55\u4e5f\u5c31\u5168\u5e9f\u4e86\u3002\u8ddf\u5b98\u65b9\u53cd\u6620\u8fc7\u8fd9\u4e2a\u95ee\u9898\uff0c\u4ed6\u4eec\u575a\u6301\u7528\u73b0\u5728\u65b0\u7684URL\u89c4\u5219\u3002\u5982\u679c\u60f3\u7528\u8ddf\u4ee5\u524d\u4e00\u6837\u7684URL\uff0c\u5f97\u81ea\u5df1\u4e8c\u5f00\u6216\u8005\u8ddf\u5b98\u65b9\u5b9a\u5236\u3002<\/p>\n
\u5982\u679c\u4f60\u662f\u60f3\u505a\u4f01\u4e1a\u7ad9\u3002\u751f\u6210\u9759\u6001URL\u5730\u5740\u80fd\u6ca1\u5565\u95ee\u9898\uff0c\u4f46\u5982\u679c\u4f60\u8981\u7528\u4f2a\u9759\u6001\uff0c\u90a3\u65b0\u95fb\u680f\u76ee\u7684URL\u5c31\u4e3a\/list\/1 ,\u4ea7\u54c1\u680f\u76ee\u4e3a\/list\/2,URL\u91cc\u9762\u7684list\u662f\u56fa\u5b9a\u7684\uff0c\u901a\u8fc7\u680f\u76ee\u7684URL\u5730\u5740\uff0c\u4f60\u4e0d\u77e5\u9053\u5b83\u662f\u5565\u680f\u76ee\uff0c\u4ee5\u524d\u7684\/xinwen\/\u6216\u8005\/news\/\u4e00\u773c\u5c31\u53ef\u4ee5\u770b\u51fa\u5565\u680f\u76ee\uff0c\u540e\u53f0\u680f\u76ee\u751f\u6210\u76ee\u5f55\u7684\u5730\u65b9\u4f60\u586b\u7684\u5565\uff0c\u4f60\u7684\u76ee\u5f55\u5c31\u662f\u5565\u540d\uff0c\u8fd9\u6837\u7684URL\u4e5f\u65b9\u4fbfSEO\u3002<\/p>\n
\u6211\u8fd9\u91cc\u4ee5DEDEBIZ6.5\u7248\u672c\u4e3a\u4f8b\u8fdb\u884c\u4fee\u6539\uff0c\u4e3b\u8981\u5b9e\u73b0\u5217\u8868\u9875\u3001\u5185\u5bb9\u9875\u3001TAG\u6807\u7b7e\u9875\u7684\u4f2a\u9759\u6001\u3002<\/p>\n
\u51c6\u5907\u5de5\u4f5c\uff1a<\/strong>\u5b89\u88c5\u597dDEDEBIZ\u7cfb\u7edf\uff0c\u6253\u5f00\u540e\u53f0\u7cfb\u7edf\u8bbe\u7f6e\uff0c\u5f00\u542f\u4f2a\u9759\u6001\uff0c\u5982\u679c\u4f60\u73b0\u5728\u7684\u7ad9\u5168\u662f\u9759\u6001\uff0c\u5f97\u628a\u5b83\u5168\u90e8\u8f6c\u6210\u52a8\u6001\uff0c\u4e00\u5065\u9759\u6001\u8f6c\u52a8\u6001\u65b9\u6cd5\u00a0DEDEBIZ\u52a8\u9759\u6001\u5207\u6362\u63d2\u4ef6<\/a> \u5982\u679c\u662f\u6709\u6570\u636e\u7684\u7ad9\uff0c\u8bf7\u63d0\u524d\u5907\u4efd\u597d\u6570\u636e\u3002<\/p>\n \u4f2a\u9759\u6001\u8bbe\u7f6e\u6210\u529f\u540e\uff0c\u8bbf\u95eeURL\u5730\u5740\u6548\u679c\u5982\u4e0b\uff1a<\/p>\n \u5217\u8868\u9875\u2003\u00a0 \u00a0 \u00a0 \u00a0 \u00a0http:\/\/www.123.com\/news\/ \u5982\u679c\u4f60\u662f\u65b0\u7ad9\uff0c\u4e0d\u5728\u610fURL\u7684\u95ee\u9898\uff0c\u53ea\u662f\u60f3\u4f7f\u7528\u4f2a\u9759\u6001\uff0c\u540e\u53f0\u5f00\u542f\u4f2a\u9759\u6001\u540e\uff0c\u53ea\u9700\u8981\u4f7f\u7528\u4e0b\u9762\u7684\u4f2a\u9759\u6001\u89c4\u5219\u5373\u53ef\u5b9e\u73b0\u5217\u8868\uff0c\u5185\u5bb9\u9875\u7684\u4f2a\u9759\u6001<\/p>\n \u4f2a\u9759\u6001\u89c4\u5219\uff08Nginx\uff09<\/p>\n \u8bbe\u7f6e\u597d\u540e\uff0c\u5b83\u7684URL\u5730\u5740\u6548\u679c\u5982\u4e0b\uff1a<\/p>\n \u5217\u8868\u9875\u2003\u00a0 \u00a0 \u00a0 \u00a0 \u00a0http:\/\/www.123.com\/list\/1 TAG\u7684\u4f2a\u9759\u6001\u5f00\u542f\u540e\uff0c\u5b83\u7684URL\u8def\u5f84\u91cc\u4f1a\u5305\u542b\/app\/tags.php?\/\uff0c\u53ef\u4ee5\u53c2\u8003\u4e0b\u9762\u7684TAG\u4fee\u6539\u65b9\u6cd5\u5373\u53ef\u5b9e\u73b0\u4e0a\u9762\u7684URL\u6548\u679c\u3002<\/p>\n \u5e9f\u8bdd\u4e5f\u4e0d\u591a\u8bf4\u4e86\u3002\u5f00\u59cb\u6559\u7a0b<\/p>\n 1\u3001\u5217\u8868\u9875<\/strong><\/p>\n \u6253\u5f00system\\helpers\\channelunit.helper.php,\u5927\u7ea6\u5728145\u884c\uff0c<\/p>\n \u628a<\/p>\n \u4fee\u6539\u4e3a\uff1a<\/p>\n \u4fee\u6539\u524d\u5b83\u7684URL\u5730\u5740\u4e3a\/list-1\uff0c\u4fee\u6539\u540e\uff1a\/\u680f\u76ee\u540d\u79f0<\/p>\n \u6253\u5f00\/apps\/list.php\u641c\u7d22<\/p>\n \u5927\u7ea6\u572813\u884c\uff0c\u628a\u5b83\u4fee\u6539\u4e3a:<\/p>\n 2\u3001\u5217\u8868\u5206\u9875\uff1a<\/strong><\/p>\n \u6253\u5f00\/archive\/listview.class.php\uff0c\u67e5\u627e\uff1a\/\/\u4f2a\u9759\u6001\u680f\u76ee\u5206\u9875 \uff0c\u5927\u7ea6\u57281204\u884c<\/p>\n \u628a<\/p>\n \u4fee\u6539\u4e3a\uff1a<\/p>\n \u4fee\u6539\u524d\uff1a\/list-\u680f\u76eeid-\u9875\u7801 \u6ce8\u610f\uff0c\u6211\u8fd9\u91cc\u628aURL\u4e2d\u95f4\u7684\u8fde\u63a5\u7b26\u7531\u4e0b\u6a2a\u7ebf_\u6362\u6210-\u4e86\uff0c\u5982\u679c\u4f60\u60f3\u8981\u4e0b\u6a2a\u7ebf\uff0c\u8bf7\u4fee\u6539\u4e0a\u9762\u7684-\uff0clist.php\u91cc\u9762\u7684explode(\"-\",\u4e5f\u8981\u4fee\u6539\u3002\u4e0d\u7136\u5217\u8868\u5206\u9875\u62a5500\u9519\u8bef\u3002<\/p>\n 1\u3001\u5185\u5bb9\u9875<\/strong><\/p>\n \u6253\u5f00system\\helpers\\channelunit.helper.php,\u641c\u7d22\uff1a<\/p>\n \u5927\u7ea6\u5728196\u884c\uff0c\u628a196\u884c\u5230241\u884c\u91cc\u7684\u5168\u90e8\u66ff\u6362\u4e3a\uff1a<\/p>\n \u6253\u5f00\\apps\\view.php<\/p>\n \u641c\u7d22\uff1a$t1 = ExecTime(); \u5927\u7ea6\u572813\u884c\uff0c\u5728\u5b83\u4e0b\u9762\u6dfb\u52a0<\/p>\n \u4fee\u6539\u540e\uff0c\u5185\u5bb9\u9875\u7684URL\u7531\/article\/\u6587\u7ae0ID.html\uff0c\u53d8\u6210\/\u680f\u76ee\u540d\u79f0\/\u6587\u7ae0ID.html<\/p>\n 2\u3001\u5185\u5bb9\u5206\u9875<\/strong><\/p>\n \u6253\u5f00\\system\\archive\\archives.class.php\uff0c\u641c\u7d22\uff1a \u83b7\u5f97\u52a8\u6001\u6587\u6863\u5206\u9875\u5217\u8868\u00a0 \uff0c\u5927\u7ea6\u5728919\u884c\uff0c\u628a\u5b83\u4e0b\u9762\u7684\u4ee3\u7801\u5168\u90e8\u66ff\u6362\u4e3a\uff1a<\/p>\n \u4fee\u6539\u540e\u7531\/article\/\u6587\u7ae0ID-\u9875\u7801.html\u53d8\u6210\/\u680f\u76ee\u540d\u79f0\/\u6587\u7ae0ID-\u9875\u7801.html<\/p>\n DEDEBIZ\u7684TAG\u6807\u7b7e\u5df2\u7ecf\u4f18\u5316\u597d\u4e86\u3002\u4e0d\u8fc7\u5b83\u662f\u4ee5ID\u5f62\u5f0f\u51fa\u6765\u7684\u3002URL\u4e3a\/tags\/209\uff0c\u4f46\u5b83\u9ed8\u8ba4\u7684\u663e\u793a\u662f\/app\/tags.php?\/209,\u6211\u4eec\u628a\u5b83URL\u5730\u5740\u4fee\u6539\u4e00\u4e0b\u5c31\u53ef\u4ee5\u4e86\u3002<\/p>\n <\/p>\n \u6253\u5f00\\system\\taglib\\tag.lib.php\uff0c\u5927\u7ea6\u572858\u884c<\/p>\n
\n\u5217\u8868\u5206\u9875\u00a0 \u00a0 \u00a0 \u00a0 \u00a0http:\/\/www.123.com\/news\/list-1-2.html
\n\u5185\u5bb9\u9875\u2003\u2003\u2003 http:\/\/www.123.com\/xinwenzixun\/6.html
\n\u5185\u5bb9\u9875\u5206\u9875\u2003 http:\/\/www.123.com\/news\/6-2.html
\nTAG\u6807\u7b7e\u9875\u2003 http:\/\/www.123.com\/tags\/126\/
\nTAG\u6807\u7b7e\u5206\u9875 http:\/\/www.123.com\/tags\/126\/2\/<\/p>\n#\u5185\u5bb9\u9875\u53ca\u5185\u5bb9\u9875\u5206\u9875\r\nrewrite ^\/article\/([0-9]+).html$ \/apps\/view.php?aid=$1;\r\nrewrite ^\/article\/([0-9]+)-([0-9]+).html$ \/apps\/view.php?aid=$1&PageNo=$2;\r\n#\u5217\u8868\u9875\u53ca\u5217\u8868\u5206\u9875\r\nrewrite ^\/list\/([0-9]+)$ \/apps\/list.php?tid=$1;\r\nrewrite ^\/list\/([0-9]+)-([0-9]+)$ \/apps\/list.php?tid=$1&PageNo=$2;\r\n#TAG\u6807\u7b7e\r\nrewrite ^\/tags\\.html$ \/apps\/tags.php;\r\nrewrite ^\/tags\/(.*)(?:(\\?.*))* \/apps\/tags.php?\\\/$1;\r\nrewrite ^\/tags\/(.*)\\\/(?:(\\?.*))* \/apps\/tags.php?\\\/$1\\\/;\r\nrewrite ^\/tags\/(.*)\\\/([0-9])(?:(\\?.*))* \/apps\/tags.php?\\\/$1\\\/$2;\r\nrewrite ^\/tags\/(.*)\\\/([0-9])\\\/(?:(\\?.*))* \/apps\/tags.php?\\\/$1\\\/$2\\\/;\r\n<\/code><\/pre>\n
\n\u5217\u8868\u5206\u9875\u00a0 \u00a0 \u00a0 \u00a0 \u00a0http:\/\/www.123.com\/lsit\/1-2.html
\n\u5185\u5bb9\u9875\u2003\u2003\u2003 http:\/\/www.123.com\/article\/6.html
\n\u5185\u5bb9\u9875\u5206\u9875\u2003 http:\/\/www.123.com\/article\/6-2.html
\nTAG\u6807\u7b7e\u9875\u2003 http:\/\/www.123.com\/tags\/126\/
\nTAG\u6807\u7b7e\u5206\u9875 http:\/\/www.123.com\/tags\/126\/2\/<\/p>\n\u7b2c\u4e00\u6b65\uff1a\u5217\u8868\u9875<\/h2>\n
<\/a><\/p>\n
$reurl = $GLOBALS['cfg_cmspath'].\"\/list\/\".$typeid;\r\n<\/code><\/pre>\n
$reurl = $GLOBALS['cfg_cmspath'].\"\/{$typedir}\/\";\r\n<\/code><\/pre>\n
$tid = (isset($tid) && is_numeric($tid) ? $tid : 0);\r\n<\/code><\/pre>\n
if($cfg_rewrite == 'Y')\r\n{\r\n if(!is_numeric($tid))\r\n {\r\n $typedir = parse_url($tid, PHP_URL_PATH);\r\n $PageNo = stripos(GetCurUrl(), '.html') ? intval(str_replace('.html', '', end(explode(\"-\", GetCurUrl())))) : 1;\r\n $tinfos = $dsql->GetOne(\"SELECT * FROM `#@__arctype` WHERE typedir='\/$typedir' or typedir='{cmspath}\/$typedir'\");\r\n\r\n if(is_array($tinfos))\r\n {\r\n $tid = $tinfos['id'];\r\n $typeid = GetSonIds($tid);\r\n $row = $dsql->GetOne(\"Select count(id) as total From `#@__archives` where typeid in({$typeid})\");\r\n }\r\n else\r\n {\r\n $tid = 0;\r\n }\r\n }\r\n}\r\nelse\r\n{\r\n\t$tid = (isset($tid) && is_numeric($tid) ? $tid : 0);\r\n}\r\n<\/code><\/pre>\n
if ($cfg_rewrite == 'Y') {\r\n $plist = str_replace(\"?tid=\", \"\", $plist);\r\n $plist = preg_replace(\"\/&pageno=(\\d+)\/i\", \"-\\\\1\", $plist);\r\n $plist = preg_replace(\"\/&TotalResult=(\\d+)\/i\", \"\", $plist);\/\/\u53bb\u6389\u5206\u9875\u6570\u503c\r\n }\r\n return $plist;\r\n }\r\n<\/code><\/pre>\n
if ($cfg_rewrite == 'Y') {\r\n $plist = str_replace(\"?tid=\", \"list-\", $plist);\r\n $plist = preg_replace(\"\/&pageno=(\\d+)\/i\", \"-\\\\1.html\", $plist);\r\n $plist = preg_replace(\"\/&TotalResult=(\\d+)\/i\", \"\", $plist);\/\/\u53bb\u6389\u5206\u9875\u6570\u503c\r\n }\r\n return $plist;\r\n }\r\n<\/code><\/pre>\n
\n\u4fee\u6539\u540e\uff1a\/\u680f\u76ee\/list-\u680f\u76eeid-\u9875\u7801<\/p>\n\u7b2c\u4e8c\u6b65\uff1a\u5185\u5bb9\u9875<\/h2>\n
if (!function_exists('GetFileName'))\r\n<\/code><\/pre>\n
if (!function_exists('GetFileName')) {\r\n function GetFileName($aid, $typeid, $timetag, $title, $ismake = 0, $rank = 0, $namerule = '', $typedir = '', $money = 0, $filename = '')\r\n {\r\n global $cfg_cmspath, $cfg_arcdir, $cfg_special, $cfg_arc_dirname, $cfg_rewrite;\r\n \r\n \/\/ \u6e05\u7406\u8def\u5f84\u4e2d\u7684\u7279\u6b8a\u6807\u8bb0\u548c\u591a\u4f59\u659c\u6760\r\n $cleanPath = function($path) {\r\n return trim(str_replace(['{cmspath}', '\/\/'], ['', '\/'], $path), '\/');\r\n };\r\n \r\n \/\/ \u83b7\u53d6\u89c4\u8303\u5316\u680f\u76ee\u76ee\u5f55\r\n $getTypedir = function($typeid, $typedir) use ($cleanPath) {\r\n if (!empty($typedir)) {\r\n return $cleanPath($typedir);\r\n }\r\n if ($typeid > 0) {\r\n $row = GetOne(\"SELECT typedir FROM `#@__arctype` WHERE id='$typeid'\");\r\n return $cleanPath($row['typedir'] ?? 'default');\r\n }\r\n return 'default';\r\n };\r\n\r\n \/\/ \u6ca1\u6307\u5b9a\u680f\u76ee\u65f6\u7528\u56fa\u5b9a\u4e13\u9898\u89c4\u5219\r\n if (empty($namerule)) {\r\n $namerule = $cfg_special.'\/{aid}.html';\r\n $typeid = -1;\r\n }\r\n \r\n \/\/ \u52a8\u6001\u6587\u6863\u5904\u7406\r\n if ($rank != 0 || $ismake == -1 || $typeid == 0 || $money > 0) {\r\n if ($cfg_rewrite == 'Y') {\r\n $typedir = $getTypedir($typeid, $typedir);\r\n return \"\/{$typedir}\/{$aid}.html\"; \/\/ \u683c\u5f0f\uff1a\/\u680f\u76ee\u540d\/\u6587\u7ae0ID.html\r\n } else {\r\n return $GLOBALS['cfg_phpurl'].\"\/view.php?aid=$aid\";\r\n }\r\n } \r\n \/\/ \u9759\u6001\u6587\u6863\u5904\u7406\r\n else {\r\n $articleDir = $cleanPath(MfTypedir($typedir));\r\n $articleRule = strtolower($namerule);\r\n \r\n if ($articleRule == '') {\r\n $articleRule = strtolower($GLOBALS['cfg_df_namerule']);\r\n }\r\n \r\n if ($typedir == '') {\r\n $articleDir = $cleanPath($GLOBALS['cfg_cmspath'].$GLOBALS['cfg_arcdir']);\r\n }\r\n \r\n $dtime = GetDateMk($timetag);\r\n list($y, $m, $d) = explode('-', $dtime);\r\n \r\n $arr_rpsource = array('{typedir}', '{y}', '{m}', '{d}', '{timestamp}', '{aid}', '{cc}');\r\n $arr_rpvalues = array(\r\n $articleDir, \r\n $y, $m, $d, \r\n $timetag, \r\n $aid, \r\n dd2char($m.$d.$aid.$y)\r\n );\r\n \r\n if ($filename != '') {\r\n $articleRule = dirname($articleRule).'\/'.$filename.$GLOBALS['cfg_df_ext'];\r\n }\r\n \r\n $articleRule = str_replace($arr_rpsource, $arr_rpvalues, $articleRule);\r\n \r\n if (preg_match(\"\/\\{p\/\", $articleRule)) {\r\n $articleRule = str_replace('{pinyin}', GetPinyin($title).'-'.$aid, $articleRule);\r\n $articleRule = str_replace('{py}', GetPinyin($title, 1).'-'.$aid, $articleRule);\r\n }\r\n \r\n $articleUrl = '\/'.preg_replace(\"\/^\\\/\/\", '', $articleRule);\r\n \r\n if (preg_match(\"\/index\\.html\/\", $articleUrl) && $cfg_arc_dirname == 'Y') {\r\n $articleUrl = str_replace('index.html', '', $articleUrl);\r\n }\r\n \r\n return $articleUrl;\r\n }\r\n }\r\n}\r\n<\/code><\/pre>\n
\/\/ \u4fee\u6539URL\u91cd\u5199\u90e8\u5206\r\nif($cfg_rewrite == 'Y')\r\n{\r\n if(!is_numeric($aid))\r\n {\r\n $currentUrl = GetCurUrl();\r\n if(stripos($currentUrl, '.html') !== false) {\r\n \/\/ \u89e3\u6790URL\u683c\u5f0f\uff1a\/\u680f\u76ee\u540d\/\u6587\u7ae0ID-\u9875\u7801.html\r\n $urlParts = explode('\/', trim($currentUrl, '\/'));\r\n $lastPart = str_replace('.html', '', end($urlParts));\r\n \r\n \/\/ \u5206\u79bb\u6587\u7ae0ID\u548c\u9875\u7801\r\n $aidParts = explode('-', $lastPart);\r\n $aid = isset($aidParts[0]) ? intval($aidParts[0]) : 0;\r\n $pageno = isset($aidParts[1]) ? intval($aidParts[1]) : 1;\r\n \r\n if($aid > 0) {\r\n $_GET['pageno'] = $pageno;\r\n $GLOBALS['pageno'] = $pageno;\r\n }\r\n }\r\n }\r\n \r\n if($aid > 0) {\r\n $arcrow = GetOneArchive($aid);\r\n if(is_array($arcrow)) {\r\n \/\/ \u9a8c\u8bc1URL\u65f6\u5ffd\u7565\u9875\u7801\u90e8\u5206\r\n $baseUrl = preg_replace('\/-\\d+\\.html$\/', '.html', GetCurUrl());\r\n $typedir = str_replace('{cmspath}\/', '', $arcrow['typedir']);\r\n $typedir = trim($typedir, '\/');\r\n $expectedUrl = '\/'.$typedir.'\/'.$aid.'.html';\r\n \r\n if ($baseUrl != $expectedUrl) {\r\n header(\"HTTP\/1.0 404 Not Found\");\r\n die(\"Request Error: URL\u4e0d\u5339\u914d\");\r\n }\r\n }\r\n }\r\n}\r\n<\/code><\/pre>\n
function GetPagebreakDM($totalPage, $aid) \r\n{\r\n \/\/ 0. \u5355\u9875\u5185\u5bb9\u76f4\u63a5\u8fd4\u56de\u7a7a\u5b57\u7b26\u4e32\r\n if ($totalPage <= 1) {\r\n return \"\";\r\n }\r\n\r\n \/\/ 1. \u5b89\u5168\u9a8c\u8bc1\uff08\u5173\u952e\u4fee\u590d\uff09\r\n if(empty($aid) || $aid == 1) {\r\n preg_match('\/\\\/(\\d+)(?:-|\\.)\/', $_SERVER['REQUEST_URI'], $matches);\r\n $aid = $matches[1] ?? $this->ArcID ?? 0;\r\n if($aid == 0) return \"\"; \/\/ \u6539\u4e3a\u9759\u9ed8\u5931\u8d25\r\n }\r\n\r\n \/\/ 2. \u83b7\u53d6\u5f53\u524d\u9875\u7801\r\n $nowPage = 1;\r\n if (preg_match('\/-(\\d+)\\.html$\/', $_SERVER['REQUEST_URI'], $matches)) {\r\n $nowPage = (int)$matches[1];\r\n }\r\n\r\n \/\/ 3. \u5904\u7406\u680f\u76ee\u76ee\u5f55\r\n $typedir = $this->TypeLink->TypeInfos['typedir'];\r\n $typedir = str_replace(['{cmspath}\/', '{typedir}\/'], '', $typedir);\r\n $typedir = trim($typedir, '\/');\r\n\r\n \/\/ 4. \u6784\u5efa\u5206\u9875HTML\r\n $PageList = \"<ul class='pagination justify-content-center'>\";\r\n $PageList .= \"<li class='page-item disabled'><span class='page-link'>\u5171{$totalPage}\u9875<\/span><\/li>\";\r\n\r\n \/\/ \u4e0a\u4e00\u9875\uff08\u4ec5\u5f53\u4e0d\u662f\u7b2c\u4e00\u9875\u65f6\u663e\u793a\uff09\r\n if ($nowPage > 1) {\r\n $prevUrl = ($nowPage - 1 == 1) \r\n ? \"\/{$typedir}\/{$aid}.html\" \r\n : \"\/{$typedir}\/{$aid}-\".($nowPage - 1).\".html\";\r\n $PageList .= \"<li class='page-item'><a class='page-link' href='{$prevUrl}'>\u4e0a\u9875<\/a><\/li>\";\r\n }\r\n\r\n \/\/ \u9875\u7801\u5217\u8868\r\n for ($i = 1; $i <= $totalPage; $i++) {\r\n $pageUrl = ($i == 1) \r\n ? \"\/{$typedir}\/{$aid}.html\" \r\n : \"\/{$typedir}\/{$aid}-{$i}.html\";\r\n \r\n $PageList .= ($i == $nowPage)\r\n ? \"<li class='page-item active'><span class='page-link'>{$i}<\/span><\/li>\"\r\n : \"<li class='page-item'><a class='page-link' href='{$pageUrl}'>{$i}<\/a><\/li>\";\r\n }\r\n\r\n \/\/ \u4e0b\u4e00\u9875\uff08\u4ec5\u5f53\u4e0d\u662f\u6700\u540e\u4e00\u9875\u65f6\u663e\u793a\uff09\r\n if ($nowPage < $totalPage) {\r\n $PageList .= \"<li class='page-item'><a class='page-link' href='\/{$typedir}\/{$aid}-\".($nowPage + 1).\".html'>\u4e0b\u9875<\/a><\/li>\";\r\n }\r\n\r\n return $PageList;\r\n}<\/code><\/pre>\n
\u7b2c\u4e09\u6b65\uff1aTAG\u6807\u7b7e<\/h2>\n