手把手带你入门Apache伪静态的配置

简介: 网站伪静态,主要是为了增加搜索引擎的友好度,方便网站内容被搜索引擎收录而诞生的。类似网站上常用的301重定向、404页面的设置等在SEO方面是必不可少的。伪静态是相对真实静态来讲的,通常我们为了增强搜索引擎的友好面,都将文章内容生成静态页面,但是有的朋友为了实时的显示一些信息。或者还想运用动态脚本解决一些问题。不能用静态的方式来展示网站内容。但是这就损失了对搜索引擎的友好面。

前言


网站伪静态,主要是为了增加搜索引擎的友好度,方便网站内容被搜索引擎收录而诞生的。类似网站上常用的301重定向、404页面的设置等在SEO方面是必不可少的。

伪静态是相对真实静态来讲的,通常我们为了增强搜索引擎的友好面,都将文章内容生成静态页面,但是有的朋友为了实时的显示一些信息。或者还想运用动态脚本解决一些问题。不能用静态的方式来展示网站内容。但是这就损失了对搜索引擎的友好面。


网站伪静态有什么好处呢?

  1、网站前期如果网站是伪静态的话,更利于搜索引擎收录,而动态的就不容易收录了。

  2、伪静态对于SEO的意义重大,真正的静态页面空间储存量大,进行删除或者更新这些html文件时可造成大量文件碎片,破坏磁盘坏道,而伪静态可以更好的缓解服务器的压力,增强搜索引擎对页面的收录;动态页面虽然可以实时更新,但是有时会导致死循环,对搜索引擎不友好,而伪静态却不会出现这种情况。

  但随着搜索引擎的技术不断的更新,渐渐的搜索引擎对动态页面也开始能识别,这里在百度优化官方指南2.0里明确的给出指明静态页面的ULR完美可以增加用户体验,动态页面依然也可以收录,只要URL的参数不要过多的就行。


修改Apache配置


打开apache的配置文件httpd.conf

找到

#LoadModule rewrite_module modules/mod_rewrite.so

把前面#去掉。没有则添加,但必选独占一行,使apache支持 mod_rewrite 模块

找到配置文件中如下代码:


<Directory"D:/ApacheServer/web">    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks
    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None
    #
    # Controls who can get stuff from this server.
    #
    Order allow,deny
    Allow from all
</Directory>

AllowOverride None 换成 AllowOverride All 使apache支持 .htaccess 文件

然后,重启apache服务器

在要启用伪静态的 PHP 项目根目录下建立 .htaccess 文件

在 .htaccess 文件中输入内容

<IfModulemod_rewrite.c>    RewriteEngine on
    RewriteRule index.html$ index.php
    RewriteRule index-([1-9]+[0-9]*).html$ index.php?p=$1
    RewriteRule ([a-z]{1,})-([0-9]{1,}).html$ index.php?action=$1&id=$2
</IfModule>


注释:

RewriteEngine 为重写引擎开关,on为开启,off为关闭。

RewriteRule 是路由转向规则,之前路径为浏览器中要输入路径,这里可以用正则表达式表达。之前路径为浏览器中要输入路径,这里可以用正则表达式表达。+空格 后路径为后台实际转向路径,

转向后台实际路径时可以传参数,例子里的后台页面可以用GET[′p′]GET[′p′]_GET[‘action’] GET[‘id′]来接收GET[‘id′]来接收1 代表浏览器路径中输入的第一个正则表达式的值,以此类推,$2代表第二个正则表达式的值

RewriteRule 路由转向规则里正则表达式用括号 () 括起来

例子所在项目为test


在项目下 index.php 页面内写入内容


<?phpif ($_GET ['p']) {
echo"p : " . $_GET ['p'];
}
if ($_GET ['action']) {
echo"action : " . $_GET ['action'];
}
if ($_GET ['id']) {
echo"id : " . $_GET ['id'];
}
?>


在浏览器中输入

http://localhost/test/index.html

http://localhost/test/index-99.html

http://localhost/test/page-18.html

都会转向 http://localhost/test/index.php 页面

并且依次

http://localhost/test/index.html 页面什么都不显示

http://localhost/test/index-99.html 页面显示 p : 99

http://localhost/test/page-18.html 页面显示 action : pageid : 18

目录
相关文章
|
1月前
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
206 1
|
1月前
|
存储 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
39 1
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
|
1月前
|
缓存 前端开发 应用服务中间件
CORS跨域+Nginx配置、Apache配置
CORS跨域+Nginx配置、Apache配置
134 7
|
1月前
|
消息中间件 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(二)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(二)
41 2
|
1月前
|
存储 消息中间件 druid
大数据-151 Apache Druid 集群模式 配置启动【上篇】 超详细!
大数据-151 Apache Druid 集群模式 配置启动【上篇】 超详细!
80 1
|
1月前
apache+tomcat配置多站点集群的方法
apache+tomcat配置多站点集群的方法
33 4
|
1月前
|
负载均衡 应用服务中间件 Apache
Tomcat负载均衡原理详解及配置Apache2.2.22+Tomcat7
Tomcat负载均衡原理详解及配置Apache2.2.22+Tomcat7
37 3
|
1月前
|
Linux PHP Apache
CentOS 7.2配置Apache服务httpd(下)
CentOS 7.2配置Apache服务httpd(下)
47 1
|
1月前
|
存储 Apache 开发工具
apache的主要目录结构及常见的配置选项的详细说明(图例展示)
apache的主要目录结构及常见的配置选项的详细说明(图例展示)
|
3月前
|
Ubuntu 应用服务中间件 Linux
在Linux中,如何配置Web服务器(如Apache或Nginx)?
在Linux中,如何配置Web服务器(如Apache或Nginx)?

推荐镜像

更多