<bdo id="ylihq"></bdo>
<track id="ylihq"><div id="ylihq"></div></track>
    <track id="ylihq"><span id="ylihq"></span></track>

    <track id="ylihq"><div id="ylihq"></div></track>
    <track id="ylihq"></track>

    Discuz!X3.4標簽生成偽靜態與拼音純靜態方法htaccess偽靜態規則

    2020-02-03 01:54 原創
    閱讀數:5

    Discuz!X3.4標簽生成偽靜態與拼音純靜態方法htaccess偽靜態規則(測試于:Discuz! X3.4 R20191201) 第一步、common_tag 表新增字段 tagsname 字段名:tagsname ,類型varchar(255), 默認為空。 ...

    Discuz!X3.4標簽生成偽靜態與拼音純靜態方法htaccess偽靜態規則(測試于:Discuz! X3.4 R20191201)
    第一步、common_tag 表新增字段 tagsname
    字段名:tagsname ,類型varchar(255), 默認為空。
    注:需手動添加對應的標簽靜態名,嫌麻煩可以前往購買標簽管理插件 xiazai.chinaadmin.cn/detail/13.html
    第二步、修改標簽頁php文件:/source/module/misc/misc_tag.php
    查找:
    $page = intval($_GET['page']);
    
    在其下加上:
    $tagsname = $_GET['tagsname'];
    
    查找:
    if($id || $name) {
    
    替換:
    if($id || $name || $tagsname) {
    
    查找:
    if($id) {
    	$tag = C::t('common_tag')->fetch_info($id);
    
    替換:
    if($tagsname) {
    	$tag = C::t('common_tag')->fetch_info($tagsname);
    
    查找:
    include_once template('tag/tagitem');
    
    在其上加上:
    $tagsname = $tag['tagsname'];
    $time=time();
    $file="tags/".$tagsname.".html";
    $filetime=filemtime($file);
    if($time > $filetime+3600){
    	ob_start();
    }
    
    在其下加上:
    $html=ob_get_contents();
    $fp=fopen($file, "w");
    fwrite($fp, $html);
    fclose($fp);
    
    第三步、修改標簽頁php文件:/source/class/table/table_common_tag.php
    查找:
    public function fetch_info($tagid, $tagname = '') {
    	if(empty($tagid) && empty($tagname)) {
    		return array();
    	}
    	$addsql = $sqlglue = '';
    	if($tagid) {
    		$addsql = " tagid=".intval($tagid);
    		$sqlglue = ' AND ';
    	}
    	if($tagname) {
    		$addsql .= $sqlglue.' '.DB::field('tagname', $tagname);
    	}
    	return DB::fetch_first("SELECT tagid,tagname,status FROM ".DB::table('common_tag')." WHERE $addsql");
    }
    
    替換:
    public function fetch_info($tagsname, $tagname = '') {
    	if(empty($tagsname) && empty($tagname)) {
    		return array();
    	}
    	$addsql = $sqlglue = '';
    	if($tagsname) {
    		$addsql = " tagsname='$tagsname'";
    		$sqlglue = ' AND ';
    	}
    	if($tagname) {
    		$addsql .= $sqlglue.' '.DB::field('tagname', $tagname);
    	}
    	return DB::fetch_first("SELECT tagid,tagname,tagsname,status FROM ".DB::table('common_tag')." WHERE $addsql");
    }
    
    htaccess偽靜態規則
    RewriteCond %{QUERY_STRING} ^(.*)$
    RewriteRule ^tags/([a-z0-9]+)\.html$ misc.php?mod=tag&tagsname=$1&%1
    
    編輯推薦
    在桌子上把腿张开调教
    <bdo id="ylihq"></bdo>
    <track id="ylihq"><div id="ylihq"></div></track>
      <track id="ylihq"><span id="ylihq"></span></track>

      <track id="ylihq"><div id="ylihq"></div></track>
      <track id="ylihq"></track>