xywuyiba7 发表于 2018-11-23 12:59:38

apache url重写实现伪静态

  前段时间项目为了配合seo的工作,把现有的php网站改成静态页面,刚拿到需求时候第一感觉就是用静态页面啊,可是看了一会以后发现页面有点多4、50个,没办法就用比较简单的url重写(apache的)吧,
  

  去掉这个前面的#,启用它
  LoadModule rewrite_module modules/mod_rewrite.so
  AllowOverride None 的None 改成All

  

  然后就是写.htaccess文件了(放在根目录 但是会牺牲微量的访问时间),当然也可以在apache的配置文件中加,但是那个不太灵活(牺牲的时间更短)
  

  实例
  #打开重写语句

  RewriteEngine On
  

  RewriteRule castrolmagnatec.com.cn/questions/(+)/(index.html)?$ castrolmagnatec.com.cn/questions/index.php?tag=$1
  

  分析

  castrolmagnatec.com.cn/questions/(+)/(index.html)?$为需要匹配的静态url的正则表达式
  castrolmagnatec.com.cn/questions/index.php?tag=$1后面的$1为正则表达式中第一个分组(圆括
  号)中匹配的内容

  

  上面的代码可以实现下面的效果
把 域名/castrolmagnatec.com.cn/questions/aaaaa/index.html 的url跳转到
  域名/castrolmagnatec.com.cn/questions/index.php?tag=aaaaa
  效果就是php的页面在浏览器上显示的url为

  域名/castrolmagnatec.com.cn/questions/aaaaa/index.html
  




页: [1]
查看完整版本: apache url重写实现伪静态