浏览代码

fix 解决多站点下的网站地图问题

magicblack 7 月之前
父节点
当前提交
9f79f07ae7

+ 2 - 1
application/admin/controller/Domain.php

@@ -27,6 +27,7 @@ class Domain extends Base
                     'template_dir'=>$tmp['template_dir'][$k],
                     'html_dir'=>$tmp['html_dir'][$k],
                     'ads_dir'=>$tmp['ads_dir'][$k],
+                    'map_dir'=>$tmp['map_dir'][$k],
                 ];
 
             }
@@ -71,7 +72,7 @@ class Domain extends Base
         $list = config('domain');
         $html = '';
         foreach($list as $k=>$v){
-            $html .= $v['site_url'].'$'.$v['site_name'].'$'.$v['site_keywords'].'$'.$v['site_description'].'$'.$v['template_dir'].'$'.$v['html_dir'].'$'.$v['ads_dir']."\n";
+            $html .= $v['site_url'].'$'.$v['site_name'].'$'.$v['site_keywords'].'$'.$v['site_description'].'$'.$v['template_dir'].'$'.$v['html_dir'].'$'.$v['ads_dir'].'$'.$v['map_dir']."\n";
         }
 
         header("Content-type: application/octet-stream");

+ 11 - 0
application/admin/controller/Make.php

@@ -220,6 +220,17 @@ class Make extends Base
             }
             $link .='.xml';
             $this->buildHtml($link,'./','rss/'.$this->_param['ac2']);
+            $config = config('domain');
+            foreach ($config as $key => $val){
+                if ($val['map_dir'] != ''){
+                    $map_link = "rss/".$val['map_dir'].'/'.$this->_param['ac2'];
+                    if($par['page']>1){
+                        $map_link .= $GLOBALS['config']['path']['page_sp'] . $par['page'];
+                    }
+                    $map_link .='.xml';
+                    $this->buildHtml($map_link,'./','rss/'.$this->_param['ac2']);
+                }
+            }
             $this->echoLink($link,'/'.$link);
         }
         if(ENTRANCE=='admin') {

+ 1 - 0
application/admin/view_new/domain/index.html

@@ -40,6 +40,7 @@
                             <div class="layui-input-inline w150"><select name="domain[template_dir][]"><option value="no">{:lang('select_template')}.</option>{volist name="templates" id="vo2"}<option value="{$vo2}" {if condition="$vo2 eq $vo.template_dir"}selected{/if}>{$vo2}</option>{/volist}</select></div>
                             <div class="layui-input-inline w150"><input type="text" name="domain[html_dir][]" class="layui-input" placeholder="{:lang('tpl_dir')}" value="{$vo.html_dir}"></div>
                             <div class="layui-input-inline w150"><input type="text" name="domain[ads_dir][]" class="layui-input" placeholder="{:lang('ads_dir')}" value="{$vo.ads_dir}"></div>
+                            <div class="layui-input-inline w150"><input type="text" name="domain[map_dir][]" class="layui-input" placeholder="{:lang('map_dir')}" value="{$vo.map_dir}"></div>
                             <div> <a class="layui-badge-rim j-tr-del" data-href="{:url('del?ids='.$vo['site_url'])}" href="javascript:;" title="{:lang('del')}">{:lang('del')}</a></div>
                         </div>
                         {/volist}

+ 3 - 1
application/lang/de-de.php

@@ -145,6 +145,7 @@ return array (
   'portrait' => '头像',
   'tpl_dir' => 'Vorlagenverzeichnis',
   'ads_dir' => 'Werbeverzeichnis',
+  'map_dir' => 'Kartenverzeichnis',
   'reply' => '回复',
   'reply_yes' => 'antworten',
   'reply_not' => 'Keine Antwort',
@@ -1353,7 +1354,8 @@ Nota: Se tanto a lista negra quanto a lista branca forem preenchidas, a polític
   'admin/domain/help_tip' => 'Dicas:<br>
                         1. Esta função suporta a exibição de diferentes modelos e informações de configuração do site sob o mesmo banco de dados e diferentes domínios em modo não-estático.<br>
                         2. Não há limite para o número de sites de domínio.<br>
-                        3. Formato de importação de texto: domínio$nome do site$palavras-chave$descrição$modelo$diretório do modelo$diretório de anúncios. Cada linha representa um site. Limpe os dados existentes antes da importação.',
+                        3. Formato de importação de texto: domínio$nome do site$palavras-chave$descrição$modelo$diretório$Kartenverzeichnis do modelo$diretório de anúncios. Cada linha representa um site. Limpe os dados existentes antes da importação.<br>
+                        4. Wenn ein Kartenverzeichnis festgelegt wurde, muss der Administrator die Nginx-Weiterleitung selbst konfigurieren. Die URL lautet: rss/$Kartenverzeichnis/index.xml.<br>',
   'admin/website/title' => 'Gestão de Sites',
   'admin/website/referer' => 'Tráfego Total',
   'admin/website/referer_month' => 'Tráfego Mensal',

+ 3 - 1
application/lang/en-us.php

@@ -145,6 +145,7 @@ return array (
   'portrait' => 'Portrait',
   'tpl_dir' => 'Template Directory',
   'ads_dir' => 'Advertisement Directory',
+  'map_dir' => 'Map Directory',
   'reply' => 'Reply',
   'reply_yes' => 'Replied',
   'reply_not' => 'Not Replied',
@@ -1353,7 +1354,8 @@ Note: If both black and white lists are filled, both policies will take effect.'
   'admin/domain/help_tip' => 'Tip:<br>
                         1. This function supports displaying different templates and website configuration information for different domains under the same database in non-static mode.<br>
                         2. No limit on the number of domain websites.<br>
-                        3. Import text format: domain$website name$keywords$description$template$template directory$ad directory. One website per line. Clear existing data.<br>',
+                        3. Import text format: domain$website name$keywords$description$template$template$map directory$ad directory. One website per line. Clear existing data.<br>
+                        4. If a map directory is set, the administrator needs to configure the nginx redirection themselves. The URL is: rss/$map directory/index.xml.<br>',
   'admin/website/title' => 'Website Management',
   'admin/website/referer' => 'Total Referrals',
   'admin/website/referer_month' => 'Monthly Referrals',

+ 3 - 1
application/lang/es-es.php

@@ -145,6 +145,7 @@ return array (
   'portrait' => 'Retrato',
   'tpl_dir' => 'Directorio de Plantillas',
   'ads_dir' => 'Directorio de Anuncios',
+  'map_dir' => 'Índice de Mapas',
   'reply' => 'Responder',
   'reply_yes' => 'Ya Respondido',
   'reply_not' => 'Sin Responder',
@@ -1351,7 +1352,8 @@ Nota: Si se especifican listas negras y blancas, ambas se aplicarán simultánea
   'admin/domain/help_tip' => 'Información de Ayuda:<br>
                         1. Esta función admite la visualización de diferentes plantillas e información de configuración del sitio web bajo diferentes nombres de dominio en el mismo entorno de base de datos no estático.<br>
                         2. No hay límite en la cantidad de sitios web de dominio.<br>
-                        3. El formato de importación de texto es: dominio$nombre del sitio web$palabras clave$descripción$template$directorio de la plantilla$directorio de anuncios. Cada línea representa un sitio web. Borrar los datos existentes.<br>',
+                        3. El formato de importación de texto es: dominio$nombre del sitio web$palabras clave$descripción$template$directorio de la plantilla$directorio de anuncios$directorio de mapas. Cada línea representa un sitio web. Borrar los datos existentes.<br>
+                        4. Si se ha configurado un directorio de mapas, el administrador debe configurar la redirección de nginx por sí mismo. La URL es: rss/$directorio de mapas/index.xml.',
   'admin/website/title' => 'Gestión de Sitios Web',
   'admin/website/referer' => 'Tráfico Total',
   'admin/website/referer_month' => 'Tráfico Mensual',

+ 3 - 1
application/lang/fr-fr.php

@@ -145,6 +145,7 @@ return array (
   'portrait' => 'Portrait',
   'tpl_dir' => 'Répertoire de modèle',
   'ads_dir' => 'Répertoire de publicité',
+  'map_dir' => 'Répertoire des Cartes',
   'reply' => 'Répondre',
   'reply_yes' => 'Répondu',
   'reply_not' => 'Non répondu',
@@ -1353,7 +1354,8 @@ Note: Si les listes noires et blanches sont remplies, les stratégies s\'appliqu
   'admin/domain/help_tip' => 'Conseils :<br>
                         1. Cette fonction prend en charge l\'affichage de modèles et de configurations de sites Web différents pour différents noms de domaine sous la même base de données en mode non statique.<br>
                         2. Aucune limite sur le nombre de sites Web de domaine.<br>
-                        3. Le format d\'importation de texte est : Nom de domaine$Nom du site Web$Mots-clés$Description$Modèle$Répertoire du modèle$Répertoire de la publicité. Chaque ligne représente un site Web. Effacez les données existantes.',
+                        3. Le format d\'importation de texte est : Nom de domaine$Nom du site Web$Mots-clés$Description$Modèle$Répertoire du modèle$Répertoire de la publicité$répertoire de carte. Chaque ligne représente un site Web. Effacez les données existantes.<br>
+                        Si un répertoire de carte est défini, l\'administrateur doit configurer lui-même la redirection nginx. L\'URL est : rss/$répertoire de carte/index.xml.',
   'admin/website/title' => 'Gestion des sites Web',
   'admin/website/referer' => 'Trafic total',
   'admin/website/referer_month' => 'Trafic mensuel',

+ 3 - 1
application/lang/ja-jp.php

@@ -145,6 +145,7 @@ return array (
   'portrait' => 'アバター',
   'tpl_dir' => 'テンプレートディレクトリ',
   'ads_dir' => '広告ディレクトリ',
+  'map_dir' => '地図目録',
   'reply' => '返信する',
   'reply_yes' => '返信済み',
   'reply_not' => '未返信',
@@ -1354,7 +1355,8 @@ https://www.baidu.com/123.jpg
   'admin/domain/help_tip' => 'ヒント情報:<br>
         1、この機能は、非静的モードで、同じデータベース、異なるドメインで異なるテンプレートとWebサイト構成情報を表示することをサポートしています<br>
         2、ドメインWebサイトの数に制限はありません<br>
-        3、インポートテキストの形式は次のとおりです。ドメイン$Webサイト名$キーワード$説明$テンプレート$テンプレートディレクトリ$広告ディレクトリ。Webサイトごとに1行。元のデータをクリアします。<br>',
+        3、インポートテキストの形式は次のとおりです。ドメイン$Webサイト名$キーワード$説明$テンプレート$テンプレートディレクトリ$広告ディレクトリ$マップディレクトリ。Webサイトごとに1行。元のデータをクリアします。<br>
+        4、マップディレクトリが設定されている場合、管理者はnginxのリダイレクトを自身で設定する必要があります。URLは次のとおりです:rss/$マップディレクトリ/index.xml。',
   'admin/website/title' => 'Webサイト管理',
   'admin/website/referer' => '合計リファラー',
   'admin/website/referer_month' => '月間リファラー',

+ 3 - 1
application/lang/ko-kr.php

@@ -145,6 +145,7 @@ return array (
   'portrait' => '프로필 사진',
   'tpl_dir' => '템플릿 디렉토리',
   'ads_dir' => '광고 디렉토리',
+  'map_dir' => '지도 목록 ',
   'reply' => '답변',
   'reply_yes' => '답변됨',
   'reply_not' => '답변되지 않음',
@@ -1352,7 +1353,8 @@ https://www.baidu.com/123.jpg
   'admin/domain/help_tip' => '팁 정보: <br>
                         1. 이 기능은 비정적 모드에서 동일한 데이터베이스, 다른 도메인이 다른 템플릿과 웹사이트 구성 정보를 표시하도록 지원합니다. <br>
                         2. 도메인 웹사이트 수에 제한이 없습니다. <br>
-                        3. 가져오기 텍스트 형식은 도메인$웹사이트 이름$키워드$설명$템플릿$템플릿 디렉토리$광고 디렉토리입니다. 줄당 하나의 웹사이트입니다. 기존 데이터를 지웁니다. <br>',
+                        3. 가져오기 텍스트 형식은 도메인$웹사이트 이름$키워드$설명$템플릿$템플릿 디렉토리$광고 디렉토리입니다$지도 디렉토리. 줄당 하나의 웹사이트입니다. 기존 데이터를 지웁니다. <br>
+                        4. 지도 디렉토리가 설정된 경우, 관리자는 nginx 리디렉션을 직접 구성해야 합니다. URL은 다음과 같습니다: rss/$지도 디렉토리/index.xml.<br>',
   'admin/website/title' => '웹사이트 관리',
   'admin/website/referer' => '총 리퍼러',
   'admin/website/referer_month' => '월간 리퍼러',

+ 3 - 1
application/lang/pt-pt.php

@@ -145,6 +145,7 @@ return array (
   'portrait' => 'Avatar',
   'tpl_dir' => 'Diretório de modelos',
   'ads_dir' => 'Diretório de anúncios',
+  'map_dir' => 'Diretório de Mapas',
   'reply' => 'Responder',
   'reply_yes' => 'Respondido',
   'reply_not' => 'Não respondido',
@@ -1352,7 +1353,8 @@ https://www.baidu.com/123.jpg
   'admin/domain/help_tip' => 'Informações de dica: <br>
                         1, esta função suporta a exibição de diferentes modelos e informações de configuração do site para diferentes domínios no mesmo banco de dados no modo não estático <br>
                         2, número ilimitado de sites de domínio <br>
-                        3, o formato de texto importado é: domínio $ nome do site $ palavra-chave $ descrição $ modelo $ diretório de modelo $ diretório de anúncios. Um site por linha. Limpe os dados originais. <br>',
+                        3, o formato de texto importado é: domínio $ nome do site $ palavra-chave $ descrição $ modelo $ diretório de modelo $ diretório de anúncios$diretório de mapas. Um site por linha. Limpe os dados originais. <br>
+                        3, Se um diretório de mapas for configurado, o administrador precisa configurar o redirecionamento do nginx por conta própria. A URL é: rss/$diretório de mapas/index.xml.',
   'admin/website/title' => 'Gerenciamento de sites',
   'admin/website/referer' => 'Total de referências',
   'admin/website/referer_month' => 'Referências mensais',

+ 3 - 1
application/lang/zh-cn.php

@@ -153,6 +153,7 @@ return [
     'portrait'=>'头像',
     'tpl_dir'=>'模板目录',
     'ads_dir'=>'广告目录',
+    'map_dir'=>'地图目录',
     'reply'=>'回复',
     'reply_yes'=>'已回复',
     'reply_not'=>'未回复',
@@ -1476,7 +1477,8 @@ https://www.baidu.com/123.jpg
     'admin/domain/help_tip'=>'提示信息:<br>
                         1,此功能支持非静态模式下同1个数据库不同域名显示不同的模板和网站配置信息<br>
                         2,不限制域名网站数量<br>
-                        3,导入文本格式是:域名$网站名称$关键字$描述$模板$模板目录$广告目录。每行一个网站。清空原有数据。<br>',
+                        3,导入文本格式是:域名$网站名称$关键字$描述$模板$模板目录$广告目录$地圖目錄。每行一个网站。清空原有数据。<br>
+                        4. 如設置了地圖目錄需站長自行配置nginx重定向,URL為:rss/$地圖目錄/index.xml。<br>',
 
     'admin/domain/title'=>'站群管理',
 

+ 3 - 1
application/lang/zh-tw.php

@@ -145,6 +145,7 @@ return array (
   'portrait' => '頭像',
   'tpl_dir' => '模板目錄',
   'ads_dir' => '廣告目錄',
+  'map_dir' => '地圖目錄',
   'reply' => '回復',
   'reply_yes' => '已回復',
   'reply_not' => '未回復',
@@ -1354,7 +1355,8 @@ https://www.baidu.com/123.jpg
   'admin/domain/help_tip' => '提示信息:<br>
                         1,此功能支持非靜態模式下同1個數據庫不同域名顯示不同的模板和網站配置信息<br>
                         2,不限製域名網站數量<br>
-                        3,導入文本格式是:域名$網站名稱$關鍵字$描述$模板$模板目錄$廣告目錄。每行一個網站。清空原有數據。<br>',
+                        3,導入文本格式是:域名$網站名稱$關鍵字$描述$模板$模板目錄$廣告目錄$地图目录。每行一個網站。清空原有數據。<br>
+                        4. 如设置了地图目录需站长自行配置nginx重定向,URL为:rss/$地图目录/index.xml。<br>',
   'admin/website/title' => '網址管理',
   'admin/website/referer' => '總來路',
   'admin/website/referer_month' => '月來路',