首页 技术 正文
技术 2022年11月6日
0 收藏 542 点赞 798 浏览 2845 个字

注:第一部分来自 http://www.cnblogs.com/wangkongming/archive/2012/11/13/2768251.html     这位博主的个人网站简洁   还有诗歌  我我我 。。 喜欢喜欢喜欢

第二部分  是自己实践中写的

【一】

你是否曾经对一些网站的网址看起来非常清爽,没有任何.php或.html后缀感到奇怪?他们就是这样做到的。

1、安装 mod_rewrite 模块
     因为 Apache 服务器默认是没有打开 mod_rewrite 模块的,所以我们必须手动来启动。打开 Apache 的配置文件 httpd.conf 文件,找到下面一行:
     #LoadModule rewrite_module modules/mod_rewrite.so
    
前面的 # 号是 Apache 配置文件的注释符,也就是 Apache 服务器没有加载该模块。将前面的 # 号去掉,保存后重启 Apache
服务器,这是我们就实现了加载 mod_rewrite 这个模块了。(提示:任何一次对 Apache 的配置文件 httpd.conf
文件都是要重新启动 Apache 才能生效的)

2、新建 .htaccess 文件
     在 windows
系统默认的情况下是不能新建没有文件名的文件的,这里建议大家使用 vim 这个编辑器来新建。方法是打开 vim 编辑器随便输入一段文字,然后保存为
.htaccess 即可。很多朋友因为习惯了 windows
系统,所以新建这个文件很头疼。还有就是文件名一定不要错,我今天写的时候把文件保存成了.htacess,看到没有,少了一个c,怎么调试都不对,还好
最后发现了这个低级错误。

3、配置 .htaccess 文件
     .htaccess 文件务必放在你项目的根目录下,不要放在其他文件夹下。配置 .htaccess 文件的格式如下:

<ifmodule mod_rewrite.c>
     RewriteEngine On
     #这里是你的规则
     </ifmodule>

解释:RewriteEngine On :启动URL重写引擎
     先看如下一个配置好了的 .htaccess 文件实例:
  <ifmodule mod_rewrite.c>
      RewriteEngine On
      RewriteRule ^index\.html$ /index.php [L]
      RewriteRule ^shop/(.+)/$ shop/shop.php?providerId=$1 [L]
  </ifmodule>

分析:上面 .htaccess 文件就写了二条规则。当在浏览器中输入 index.html 时,后台调用的是 index.php
文件。符号“^”是以后面的字符开头,相信熟悉正则表达式的朋友不会陌生吧,符号“$”是以前面的字符结尾。符号L表示停止处理接下来的规则。最后一条当
我们在浏览器中输入 shop/2322 时,后台调用 shop.php文件并传递参数provider=2322 。
    配置规则,大家照着那一条去写吧,记得每行后面加个 L 符号。

再写一个:

http://www.yourdomin.com/category.php?id=12 想重写成 http://www.yourdomin.com/category/12

  RewriteRule  ^category/([0-9]+)$  category.php?id=$1

如果有多页的文章 如:http://www.yourdomin.com/category.php?id=12&page=3 重写成 http://www.yourdomin.com/category/12/3

  RewriteRule ^category/([0-9]+)/([0-9]+)$  category.php?id=$1&page=$2

如果你想升级你的站点,又要保证老的链接都可用,你也可以通过mod_rewrite模块来实现。你仅仅需要写一个规则之处这个网页被永久的移动了。例子如下:

  RewriteRule ^oldpage.html$ newpage.html [R=301]

记录下来,以后还会用到。

【二】

 其实我想要的效果就是像他的个人网站那样 http://www.wangkongming.cn/category/诗歌/    链接的地址这样显示 //  重定向   链接不带后缀
RewriteRule ^(blog)([\w/]*)\.([a-zA-Z]+)$          /$1$2 [R=302]

() 括号对应$ 的内容302 暂时重定向301 永久重定向/$1$2    这个 / 可以去掉系统加在链接上的地址。。。大概这个意思吧 上面这句的效果是:将http://www.wangkongming.cn/category/index.html   链接重定向为 http://www.wangkongming.cn/category/index ————————————————————————————————————————————–但是 http://www.wangkongming.cn/category/index  是访问不到的。因为生成静态后,文件夹中的文件是 http://www.wangkongming.cn/category/index.html  这种带后缀的文件
所以有了下面这句:  //使网站地址  category/index  可以访问到 category/index.html   RewriteRule ^(blog)([\w/]*)$          $1$2\.html [QSA,L] 上面这句的效果是:使 http://www.wangkongming.cn/category/index  可以访问  http://www.wangkongming.cn/category/index.html————————————————————————————————————————————– 我觉得 这两句结合的话,应该是可以达到我想要的: //循环重定向
RewriteEngine On
RewriteRule ^(blog)([\w/]*)\.html$           /$1$2 [R=302,L]
RewriteRule ^(blog)/([\d]*)         /$1/$2\.html [QSA,L]

 但是浏览器报错  :请求地址在循环重定向 恩 ,然后没有解决的 .htaccess  放在根目录 这个网站系统是 基于PHP的         

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,484
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,899
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,732
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,485
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,125
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,285