教程:从小白进阶,三分钟教你如何编写伪静态实现网站页面响应

优采云 发布时间: 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 插件来完成一些你需要的事情。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线