刚玩网页的时候,写的都是静态页 http://uicss.cn/about.htm 这样的结构。
后来想换成 http://uicss.cn/about/
但是又因为不熟悉rewrite,做了如下的调整,手动建立了一堆的文件夹:

这样的目录结构,维护起来相当麻烦。每次新加一个页面,都要开一个文件夹。
其实采用左边那套结构部署上去,服务器稍做设置,就可以支持我们想要的URL效果。

如何玩 rewrite

首先看看自己的服务器是否支持 .htAccess
如果支持这货,就不用每次写条规则就重启一次服务器了,便于测试。

redirect 301 /test.htm http://uicss.cn/

成功的话,当你访问 xxx.com/test.htm 的时候,会自动跳到我的博客。
不成功的话,需要开启一下 .htaccess :

  1. 打开 \conf\httpd.conf ,查找 #LoadModule rewrite_module,将#号去掉,加载该模块
  2. 打开 \conf\extra\httpd-vhosts.conf ,查找 AllowOverride None,将 None 变更为 All

环境准备完成后,还需要对“模式匹配”中特殊字符在rewrite的解读做一下了解:

* 代表前面0或更多个字符
+ 代表前面1或更多个字符
? 代表前面0或1个字符
^ 代表字符串的开始位置
^ 在方括号里代表“非”,例如[^/]代表非斜杠。
$ 代表字符串结束的位置
. 代表任何字符(也就是通配符)
\ 取消后面字符的特殊意思,转为原义字符。
—— 这部分的理解出自《SEO艺术》第六章末

开始干吧,打开.htaccess的rewrite
RewriteEngine on

把 xxx.htm 文件 替换为 xxx/
RewriteRule ^(.*)\/$ /$1.htm [L]

再给一个例子加深理解,这是将服务器上的 xxx.PHP 文件 替换成 xxx.html
RewriteRule ^(.*)\.html$ /$1.php [L]

更多用法:

让所有访问 www.uicss.cn/xxx/ 的用户 跳转到 uicss.cn/xxx/
RewriteCond %{HTTP_HOST} ^www.uicss.cn [NC]
RewriteRule ^(.*)$ http://uicss.cn/$1 [L,R=301]

对指定目录开启转向的代码:
RewriteBase /top/

带搜索参数的转向:
RewriteRule ^search/(.+)?$ /index.php?s=$1 [QSA,L]

目录末尾补斜线:
RewriteRule ^(.+[^/])$ /$1/ [R]

转载于:https://www.cnblogs.com/haven/archive/2012/12/15/2819793.html

.htaccess文件玩转Rewrite相关推荐

  1. Htaccess文件是什么以及Windows下自由创建.htaccess文件的N种方法

    .htaccess是什么 概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置. 通过htaccess文件,可以帮我们实现:网页301重定向.自定义404错误 ...

  2. [转] apache配置rewrite及.htaccess文件

    转载自: http://www.uh80.com/?p=654 apache配置rewrite及.htaccess文件 1.  首先确定您使用的 Apache 版本,及是否加载了 mod_Rewrit ...

  3. 最新实战讲解.htaccess文件rewrite规则

    .htaccess文件大家都不陌生吧.不认识的自己去搜一下--顺便告诉你,这是个好东西,值得一学. 似乎网上关于.htaccess编写方法的教程很有限,相信博主们也没有几个是自己写的吧? 我在这里就搜 ...

  4. linux nginx htaccess,nginx支持.htaccess文件实现rewrite伪静态

    在网上查到的资料很多人都说nginx目前不支持.htaccess文件来做伪静态,小子也觉得不应该,作为世界上轻量级最好用的WEB服务器,Nginx应该可以的,谷歌了一下,找到了nginx完全可以支持. ...

  5. Apache伪静态(Rewrite).htaccess文件详解以及RewriteCond 规则

    Htaccess(超文本访问)是一个简单的配置文件,它允许设计师,开发者和程序员通过它来改变Apache Web服务器的配置. 这些功能包括用户重定向.URL重写(url rewrite,国内很多称为 ...

  6. Linux下nginx支持.htaccess文件实现伪静态的方法!

    在Google上搜索的资料很多人都说nginx目前不支持.htaccess文件,我按照nginx的规则试验了一下,结果发现nginx是完全支持.htaccess文件的! 方法如下: 1. 在需要使用. ...

  7. php的htaccess,PHP .htaccess文件详细介绍

    1.什么是.htaccess文件及 .htaccess文件(或者"分布式配置文件")提供了针对每个目录改变配置的方法,即在一个特定的目录中放置一个包含指令的文件,其中的指令作用于此 ...

  8. Apache通过配置.htaccess文件禁止访问.git、.svn等目录

    如果你用过Git.SVN等代码版本控制工具的话,那肯定会知道,如果你需要拉去最新的代码到本地时,会自动生成一个.git或者.svn文件夹,里面包含一些项目相关的信息,如果在部署项目是,把这些文件公开暴 ...

  9. php .htaccess 的作用,php .htaccess文件使用详解

    1..htaccess文件使用前提 .htaccess的主要作用就是实现url改写,也就是当浏览器通过url访问到服务器某个文件夹时,作为主人,我们可以来接待这个url,具体地怎样接待它,就是此文件的 ...

最新文章

  1. 数据结构与算法(2-2)线性表之链式存储(单链表、静态链表、循环链表、双向循环链表)
  2. PHP源代码分析-字符串搜索系列函数实现详解
  3. 论CondConv、DynamicConv、DyNet的区别与联系
  4. UVA 103 Stacking Boxes 套箱子 DAG最长路 dp记忆化搜索
  5. Python 2.7 Exception格式化工具
  6. 搜索引擎lucene
  7. 第一个发现我嫂子有喜的竟然是......
  8. php create()方法,ThinkPHP中create()方法自动验证实例
  9. linux连接外部库时候编译,交叉编译时如何使用外部库?
  10. 管理系统 c++图形界面_锁螺母ERP系统,一站式各国语言管理系统
  11. 情人节海报psd分层模板|好的图层,任你选择
  12. 微课|中学生可以这样学Python(例8.21):选择法排序
  13. 深入理解数组与指针——原因在于”退化“
  14. 5.1linux_ubuntu常见安装问题
  15. 行为型设计模式(1)—— 责任链模式(Chain of Responsibility Pattern)
  16. 一键生成流量密码(夸张广告标题)
  17. 深度强化学习DQN(Deep Q Network)原理及例子:如何解决迷宫问题,附源码
  18. TwinCAT3 控制器PLC之间EAP通讯3-从机发送方式2
  19. 用html如何设计日历,用CSS设计日历
  20. java md5加密64位_MD5加密的Java实现

热门文章

  1. Python中的numpy.zeros()
  2. HibernateEHCache –Hibernate二级缓存
  3. android学习摘要(二)
  4. [msi]获取msi安装包的ProductCode
  5. C语言基础教程之常量
  6. 六大核心!突破自动驾驶和智慧交通的必由之路
  7. CPU 漏洞补丁对内核性能影响:4.15 比 4.11 快 7-9%
  8. mysql性能测试工具之sysbench
  9. 设置Exchange 通讯组接收外部组织邮件
  10. Java Script学习 6(转)