教程:从小白进阶,三分钟教你如何编写伪静态实现网站页面响应
优采云 发布时间: 2022-11-12 06:36教程:从小白进阶,三分钟教你如何编写伪静态实现网站页面响应
小白进阶,三分钟教你写伪静态实现网站页面响应
伪静态介绍:
伪静态是相对于真实静态的。伪静态并不是真正的静态,它本质上是一个动态页面。伪静态有什么作用?伪静态页面的目的是通过一定的规则将动态页面的地址转换为以htm或html结尾的地址,以便更好地被搜索引擎收录使用。看起来是静态的,其实它仍然是一个动态页面。
在这种情况下,我们为什么要使用伪静态来响应我们的页面呢?首先,伪静态的主要目的是为了方便搜索引擎蜘蛛(Spider)抓取网页上的相关内容;其次,因为它影响网站在搜索引擎中的排名,还有一个很重要的就是网页是静态的。很多朋友在研究SEO的时候,由于一些技术原因,伪静态成了最大的门槛。最后不得不说,使用伪静态还可以提高用户对网页的信任度。
公司案例:
因为公司的服务器快要过期了(性能不好),不打算继续续订,所以打算把服务器中的web服务迁移到新的公司服务器上。在旧服务器上,只有一个web服务器网站,它是基于apache+php架构的,现在去一个新的服务器,使用nginx+php架构实现一个新的网站部署。几经周折,终于可以访问该页面了,但是当我访问index.php中的其他链接时,发现直接出现404错误,出现No input file specified页面。
一、案例分析:
web服务迁移,我们首先想到的就是域名配置,web目录指向,php端口指向。首先,对于web迁移,我们只需要创建一个虚拟机,重新修改web项目的配置文件(如.env、conf.php文件),比如web的新路径,以及mysql的路径指定等。至于inde.php页面中的跳转,出现的错误页面问题,我们可以想到页面跳转,找不到页面导致页面无法访问,我们可以快速找到问题。这是nginx的伪静态问题。修复它,我们就完成了整个 网站 传输。
2. Web服务的迁移
1、部署lnmp环境。
我这里用oneinstack安装,一个很方便的key源码安装工具,工具使用方法可以参考官网:.
2. 网站Data,数据库数据传输
1) 网站数据传输
首先我们需要查看域名网站的目录在原apache虚拟主机中定义在哪里,然后将该目录下的文件复制到新服务器的/data/wwwroot下(这个是安装的使用 oneinstack) 所以 /data/wwwroot 默认定义为 网站 代码的路径)
#scp /var/www/abc root@新主机的ip:/data/wwwroot
2)、mysql数据传输
直接备份网站数据库的数据
#Mysqldump -uroot -ppassword --databases abc(你网站使用的数据库名)> /tmp/database.sql
将 database.sql 复制到新服务器
# scp /tmp/database.sql root@新主机的ip:/tmp/
3)、数据恢复,实现网站的索引,访问。
我们去新服务,数据恢复
#mysql –uroot –ppassword
Mysql>source /tmp/database.sql
为 mysql 的 web 连接创建一个用户
Mysql> GRANT ALL ON www(web database).* TO 'www(previous web user name)'@'%' IDENTIFIED BY '123456';
4)修改web项目的定义文件,实现索引页的正常访问。
在一个web项目中,会有一些web定义文件,比如confp.php。和.env,可以修改相关参数。
接下来,创建一个虚拟主机。
#mkdir /use/local/nginx/config/vhost
#vim abc.com.conf
我的其中一台虚拟主机配置如下,当然是域名,我改了
3、编写伪静态规则,实现正常的页面跳转。
有一个问题:
当我访问该页面时,我可以快速访问 index.php 页面,所以我认为,网站 完成了,我准备收工了。基于我的好奇心,我将看一下页面的内容。突然间,浏览器给了我一个“惊喜”,404页面不存在了。这时,我傻眼了。如果我没有遇到这种情况,我仍然无法启动。
几经周折,才得知出现这种情况是由于网站的页面跳转异常,而出现这个404错误是因为页面不存在;所以这是一个伪静态配置问题。而这个伪静态需要我们在nginx文件中进行配置。
加工思路:
首先,出现这种情况的时候,已经发现web项目是使用伪静态来实现页面跳转的。因此,我们可以知道web项目是有伪静态配置的,一般情况下,.htaccessd文件中都写有伪静态规则,但是nginx无法识别,无法正常跳转。接下来,我们来看看如何一步步实现伪静态写入,实现正常的页面访问。
伪静态处理:
首先我们需要找到 .htaccessd ,然后,我们可以在 web 中将文件指向这个文件。htaccessd 记录了 web 项目的所有规则。
.htaccessd 是一个隐藏文件,通常放在 web 项目的根目录下。
思路一:
百度,看别人怎么说,直接定义.htaccessd文件到虚拟主机就行了。
输入虚拟主机:
#vim /usr/local/nginx/conf/vhost/ abc.com.conf
#在服务器{}下添加一个位置。
location / {
include /data/wwwroot/www.abc.com/pub_html/code/.htaccessd;
}
重新加载 nginx
#service nginx reload
重定向到 /bin/systemctl reload nginx.service
nginx.service 的作业失败,因为控制进程以错误代码退出。有关详细信息,请参阅“systemctl status nginx.service”和“journalctl -xe”。
证明我们的写作是不够的。
继续解决这个问题。
思路二:
将收录 RewriteRule 的 .htaccessd 文件的内容复制到我们定义的位置并进行更改。
看看原来的规则,我列出一小部分
RewriteRule ^tegory-([0-9]+)-b([0-9]+)-([0-9]+)(.*)\.html$ tegory\.php\?id=$1&brand=$2&page=$3 [QSA,L]
RewriteRule ^tegory-([0-9]+)-b([0-9]+)(.*)\.html$ tegory\.php\?id=$1&brand=$2 [QSA,L]
RewriteRule ^tegory-([0-9]+)(.*)\.html$ tegory\.php\?id=$1 [QSA,L]
RewriteRule ^ticle_cat-([0-9]+)-([0-9]+)(.*)\.html$ ticle_cat\.php\?id=$1&page=$2 [QSA,L]
RewriteRule ^ticle_cat-([0-9]+)(.*)\.html$ ticle_cat\.php\?id=$1 [QSA,L]
从上面的伪静态规则我们可以看出,有很多规律性,那么我们如何将这些伪静态规则复制到虚拟主机上并进行修改呢?
我们需要知道的第一件事是:
第一:nginx配置文件,不支持\,复制的规则不应该存在\,
第二:RewriteRule不识别,只重写
第三:所以匹配的title需要加/来指定访问文件,比如^ticle_cat改写成这样^/ticle_cat
第四:最后需要加上last;定义伪静态。
接下来,我们添加伪静态规则:
#vim /usr/local/nginx/conf/vhost/
abc.com.conf
#在服务器{}下添加一个位置。
location / {
rewrite ^/tegory-([0-9]+)-b([0-9]+)-([0-9]+)(.*).html$ /tegory.php?id=$1&brand=$2&page=$3 last;
rewrite ^/tegory-([0-9]+)-b([0-9]+)(.*).html$ /tegory.php?id=$1&brand=$2 last;
rewrite ^/tegory-([0-9]+)(.*).html$ /tegory.php?id=$1 last;
rewrite ^/ticle_cat-([0-9]+)(.*).html$ /ticle_cat.php?id=$1 last;
rewrite ^/ticle-([0-9]+)(.*).html$ /ticle.php?id=$1 last;
. . . . . . .
}
重新加载 nginx
# 服务 nginx 重新加载
重定向到 /bin/systemctl reload nginx.service
发现启动没有问题:
重新访问页面,发现大部分都可以访问成功,有的还是不能访问。
思路三:
为什么,还有一两页,但我仍然无法访问它。想了想原因,伪静态匹配不正确。解决方法是找到那个页面的伪静态文件,重新匹配。
解决方案:
首先,找到一个伪静态中不存在的页面,比如页面错误,如何解决。
某个页面的跳转不正确,证明我们写的伪静态是错误的。
如果不了解正则匹配,百度搜索:在线正则匹配有:或者这个
我们复制匹配对应的伪静态,
接下来我们匹配无法跳转的伪静态页面对应的规则,在线一一匹配。
4.总结
个人来说,因为对伪静态的概念不熟悉,为了处理这个问题,找了很多方法,尝试了各种匹配。虽然花了很长时间,但好在问题已经解决了;我受益匪浅。文章来自51-xiaozhagn
干货教程:SEO入门教程_优化网站标签_小小课堂
小小课堂使用了WordPress、dedecms等开源cms系统,给文章添加标签非常方便。然而,标签对于网站优化真的有用吗?
今天小小课堂为大家带来网站Tags标签优化教程。我希望能有所帮助。
1.什么是网站Tags标签
网站 标记是标记 文章 以便于分类和搜索。下图为小小课堂原来的网站标签。
2.网站标签的作用
小课堂认为 网站 标签有两个主要作用。
1.增加网站收录的数量
标签是一个新的文章列表页面,搜索引擎可以更快地收录。
2.提升用户体验
相关度高的文章被归类到标签中,方便用户阅读。
3、网站标签优化
小课堂认为很多站长都错误地使用了网站Tags标签,包括小课堂网站。
1、标签使用的关键词热量不宜过大
再说说小小课堂的反面例子。吴彦用了“网站推广”、“SEO教程”、“系统下载”、“媒体运营”,选择了百度关键词人气太大。这样的词在首页会更好的优化,不适合作为网站标签优化。
2.标签聚合的内容不能太小
从下图中可以看出,有的超过一半的标签中文章的个数是1个或者2个,本来就是为了聚合的目的而存在的。
3.标签聚合的文章必须是极其相关的
小小课堂认为,如果将一些与标签关系不佳甚至不相关的文章聚合在一起,那么聚合后的页面就会失去原本的意义。
4.不要对标签聚合页面的排名寄予太大希望
一般网站的标签聚合页面排名不如优秀的文章。吴无言平时搜索很多,也遇到过进入聚合页面的人。记得几次是站长家的聚合页,很少遇到其他网站聚合页。今天写这篇文章文章之前,我也看了几个优秀的SEO教程网站,但是没有找到他们的标签聚合页面排名。相反,一个优秀的文章在百度上排名第一。.
5. 低索引、低竞争词的标签
小小娇觉得小网站,尤其是像小小娇这样的全站只有200多篇文章文章,应该用长尾关键词做标签比较合适,长尾. 尾部关键词的热度较低,有可能在搜索引擎中获得更好的排名。
6、内外链建设缺一不可
标签只起到聚合作用,聚合页面必须建立内外部链接。内链的转移权重和外链的信任投票是必不可少的。
7.标签不要太多
举个极端的例子,标签多于网站文章,这就是标签作弊。网站收录 的数量是由各种标签组成的聚合页面。搜索引擎的友好度将显着下降。
8. 小型 原创 博客可能不会被标记
小小娇认为像小小精网这样的原创SEO教程网站文章数量较少,同时可以做到单页排名,可以考虑不打标签。
如果有些人只想成为标签怎么办?
1)然后创建二级目录或者三级目录来制作这个标签,放在显眼的地方网站,看起来和标签一样人性化。
2) 甚至使用单个 文章 链接使其看起来像一个标签。
3)你可以先写文章,等你认为哪个文章适合打标签,再给文章加标签,生成聚合页面。
说到是否打标签是为了提升用户体验,这里给出的论据是用栏目页代替,就像昨天说的通过内链优化来控制整个网站的权重,而不是用nofollow来控制,和PHP一样多专家说,不要使用任何 WordPress 插件来完成一些你需要的事情。