分类 Nginx 下的文章

网站被恶意镜像后的解决思路

突然发现有一个域名,打开和自己网站一模一样,所有链接都能访问,URL目录结构都一样,页面源代码也一模一样,只有域名不同。这种情况下,很容易让人误判:自己网站被一锅端了,程序+数据都被拷贝出去,做了一个镜像站。

下面是解决思路:

一,查询了几个页面的源代码,发现里面的流量统计代码,都是一模一样的;而且每个页面,网页body中URL绝对路径中的域名被批量删了,但网页头部的js和css的URL中的域名是保留了的。

这就基本能排除自己程序+数据库被拷贝后创建镜像站的可能性,因为这像是反向代理的手法。反向代理是几乎不会把网站的资源存在自己服务器的,js和css都是引用原来网站的,所以他能很低成本地获取你的页面资源去争取收录。

阅读剩余部分

Nginx安装SSL证书,配置符合百度SEO要求的HTTPS

一,首先购买SSL证书
阿里云腾讯云这些大公司的云平台都有提供免费的SSL证书,对于百度来说,免费证书和付费证书有没有什么区别,不是很了解。我的思路是,个人网站,经济不宽裕的,用免费证书,公司网站,尽量用付费证书,买一个通配符域名证书,一年1200元左右。

在阿里云申请证书,然后绑定域名申请签发,会审核个几十分钟就下来了。

二,下载SSL证书
在阿里云SSL证书列表,每个证书后面都有一个下载按钮,点击后根据服务器类型选择对应的证书。常见的web服务器类型有Tomcat,Apache,Nginx,IIS。这里我们选择Nginx的证书,下载后解压,得到2个文件,类似:3029185__xxoo.com.key,3029185__xxoo.com.pem



阅读剩余部分

lnmp开启pathinfo,支持index.php/xx/xx这种脑残URL

有些程序的URL是www.xxoo.com/index.php/xx/xx/这种模式,典型thinkphp爱用的脑残URL模式。lnmp环境默认是不支持,打开会显示404,需要lnmp支持pathinfo。

找到虚拟主机对应的xxoo.conf文件,找到:

location ~ [^/]\.php(/|$)
{
    # comment try_files $uri =404; to enable pathinfo
    try_files $uri =404;
    fastcgi_pass  unix:/tmp/php-cgi.sock;
    fastcgi_index index.php;
    include fastcgi.conf;
    include pathinfo.conf;
}

阅读剩余部分

nginx不带www到www域名的重定向

目的:实现xxoo.com/$ 301重定向到www.xxoo.com/$

第一步:xxoo.com和www.xxoo.com都解析到同一个IP,绑定到同一个目录上。

第二步:打开该文件的配置文件www.xxoo.com.conf

{
               listen       80;
               server_name  xxoo.com www.xxoo.com;
               index index.html index.php;
               root  /data/www/wwwroot;
               if ($http_host !~ "^www.xxoo.com$") {
                       rewrite  ^(.*)    http://www.xxoo.com$1 permanent;
                 }
               ........................
}

第三步:上传conf,重启nginx。

nginx实现二级域名301重定向到对应顶级域名目录上

有一个网站,由于之前没规划好,把网站上的很多栏目做成了二级域名。比如:
mm.xxoo.com 对应的目录是 www.xxoo.com/mm/
gg.xxoo.com 对应的目录是 www.xxoo.com/gg/

由于运营思路调整,需要取消二级域名,那么此时不能唐突地直接去掉解析,改掉网站上的url,这样之前做的推广,发的外链效果就完全失效了,且造成网站大量死链。因此,唯一的方法是做301重定向。

在nginx下,找到mm.xxoo.com对应的conf配置文件,在配置文件里添加如下代码:

location ~* ^/(.*) {  
    rewrite ^/(.*)$ http://www.xxoo.com/mm/$1 permanent;
} 


阅读剩余部分