呵呵,要实现伪静态必须开启Apache的重写模块,首先要修改http.conf文件,将

#LoadModule rewrite_module modules/mod_rewrite

前面的#去掉就可以了。

然后是针对网站做重写规则,不过这里有两种方法,我来给大家介绍一下^_^ (别丢砖啊!)

  1. 直接修改虚拟主机的配置,比如 PHP代码

    1. <VirtualHost 221.130.187.81:80>
    2. **********
    3. DocumentRoot /var/www/html/
    4. ServerName   tinico.cn
    5. ServerAlias www.tinico.cn
    6. **********
    7. <IfModule mod_rewrite.c>
    8. RewriteEngine On
    9. RewriteRule ^(.*)/(search|reg|login|index|links)\.html$ $1/index.php?action=$2
    10. RewriteRule ^(.*)/(index)-([0-9]+)\.html$ $1/index.php?action=$2&page=$3
    11. </IfModule>
    12. </VirtualHost>

    其中*号部分省略的内容不在本文讨论范围之内。那么相信懂一点正则表达式规则的朋友已经能很明显的看出写法了。红色部分的$N表示对应于前面匹配规则中的 匹配项,^(.*)/表示的是任意字符,也就是域名了嘛,呵呵,当然你要明确地写出域名也是可以滴!

  2. 第二种方法就是写.htaccess文件了,主要是一些朋友没有服务器的管理权限,比如使用虚拟主机的朋友们。但是前提是必须服务器要支持读取.htaccess文件。要让服务器支持的话必须修改http.conf文件,如下 PHP代码
    1. <Directory "/var/www/html/">
    2. Options -Indexes FollowSymLinks
    3. AllowOverride all
    4. </Directory>
    5. <VirtualHost *.*.*.*>
    6. *******
    7. DocumentRoot /var/www/html/
    8. ServerName   tinico.cn
    9. ServerAlias www.tinico.cn
    10. *******
    11. </VirtualHost>

    重点就是针对某个目录设置AllowOverride属性,当然,我这里为了简便,直接全部开启,也就是上面代码中的AllowOverride all 具体要根据所需权限合适的选择开放的程度,要谈得更详细,请上Google搜索,呵呵这个不适本文讨论的重点。开放了复写服务器配置的功能之后就可以在网 站的根目录下创建一个.htaccess文件了,具体内容如下 PHP代码

    1. RewriteEngine On
    2. RewriteBase /
    3. RewriteRule ^show-([0-9]+)-([0-9]+)\.html$ index.php?action=show&id=$1&page=$2
    4. ******

    当然,规则和第一种方法是一样的,不过这里可以使用RewriteBase /来设置重写规则的适应范围为当前目录下。那么之后的重写规则就不必像第一种方法那样设置^(.*)/了,那么为什么我在第一种方法中不这样写呢?呵呵因 为第一种方法不能这么写,要是这样写了,apache会告诉你RewriteBase: only valid in per-directory config files,意思就是仅在每个文件夹下的配置文件中使用。

好了,配置完了以后别忘记重起一下apache让配置生效!

像这样配置完了以后你不必再考虑如何生成静态页面了,或者不必每次更新文章之后都要考虑是不是全部页面都重新生成了啊,这对于中小型网站特别实用,当然,大型网站还是想想办法全部生成静态吧,毕竟伪静态要消耗那么一点点服务器的资源,呵呵。

转载于:https://www.cnblogs.com/lihuimingcn/archive/2013/01/01/2841812.html

RewriteBase: only valid in per-directory config files 解答:相关推荐

  1. 【Logstash】windows下logstash报错config files contains non-ascii characters but are not UTF-8 encoded

    简介:启动报错·The following config files contains non-ascii characters but are not UTF-8 encoded 刚刚下载的logs ...

  2. MySql下载安装initialize specified but the data directory has files in it. Aborting.由于找不到VCRUNTIME140_1.d

    错误一: 如果出现MySQL:由于找不到VCRUNTIME140_1.dll,无法继续执行代码.重新安装程序可能会解决此问题 错误二: [ERROR] [MY-010457] [Server] --i ...

  3. [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting

    直接上图 C:\WINDOWS\system32> mysqld --initialize --console 2019-10-03T12:15:18.041609Z 0 [System] [M ...

  4. MySQL启动时出现initialize specified but the data directory has files in it. Aborting问题

    你是否遇见以下问题在MySQL重启时出现问题,报出了以下的错误,现在我将告诉你遇见以下错误怎么处理. [root@C_150 mysql]# systemctl restart mysqld Job ...

  5. kermit config files

    //~/.kermrc 1 set line /dev/ttyUSB0   2 set speed 115200   3 set carrier-watch off   4 set handshake ...

  6. Redis6.3版本Redis.config 解读(重要的)

    Redis.conf 1.配置文件中 unit单位的大小写不敏感! # Redis configuration file example. # # Note that in order to read ...

  7. redis的redis.config文件配置与内容+10.30日之前的总结

    参考博客:redis.conf的一些配置+密码的设置(mac)+个人总结_雾喔的博客-CSDN博客_redis密码配置文件 这个是初始的redis.config的内容 # Redis configur ...

  8. Spring Cloud Config的配置中心获取不到最新配置信息的问题

    本篇源于Spring Cloud Config的一个问题,但这个问题并非所有人都会遇到.如果您遇到了,那必须得看看这篇,如果没有遇到您也应该看看,防患于未然! 问题描述 之前有朋友提出Spring C ...

  9. detectron2系列:config软件包

    class detectron2.config.CfgNode(init_dict=None, key_list=None, new_allowed=False) 源代码:https://detect ...

  10. What is the rationale for the `/usr` directory?

    问: What is the rationale for the "unix system resources", or /usr directory, as described ...

最新文章

  1. 干掉 ZooKeeper,阿里为什么不用 ZK 做服务发现?
  2. 服务信息块协议 SMB(Server Message Block protocol)
  3. hashmap 泛型_Java 基础 - 泛型
  4. 程序员如何更快的工作之 SQL Server
  5. GPS Essentials
  6. 折半查找判定树及平均查找长度
  7. 2016年系统集成项目管理工程师最新考试说明
  8. php元类,iOS中类、元类、isa详解
  9. ad15的stc元件库_常用的Altium Designer AD09 AD14 AD18元件库 原理图库(543个)+PCB封装库(509个)...
  10. windows聚焦壁纸不更新_如何解决Win10聚焦锁屏壁纸不自动更新的问题
  11. python 城市地图_Python查询一个城市的谷歌地图的经度和纬度
  12. 2021-2027全球与中国抽屉五金市场情况与未来趋势研究报告
  13. leach协议c++代码_leach和leach-c协议仿真
  14. 自己捣鼓的小程序实现订单代付的功能
  15. MySql Sharding分表、分库、分片和分区知识讲解
  16. 中国移动为何要对手机上网流量封顶
  17. 【财富空间】幸福,就是有这3种能力
  18. JSP-简单的练习省略显示长字符串
  19. 二叉树根结点到叶节点的最短距离
  20. npm install 报错 check python checking for Python executable python2 in the PATH

热门文章

  1. 开启文案或软文编辑的思考:60后大哥靠一篇软文年入500万案例解析
  2. 基于ENVI下的土地利用信息提取(一)
  3. 两边同时取对数求复合函数_大学高等数学:第二章第四讲几类复合函数求导法,真该学习下...
  4. u盘的大小在计算机无法显示,将U盘插入Win10计算机后不显示可用容量,无法打开无法读取,如何解决...
  5. 我的csdn的第三课的总结———淮师杨建波
  6. 古文觀止卷七_獲麟解_韓愈
  7. latex系列---Latex参考文献的引用
  8. pta:人民币与美元汇率兑换程序(python)
  9. 计算机表格操作教程,Excel使用教程 Excel表格的10个基本操作
  10. 航班时间(计算时间差)