.htaccess文件玩转Rewrite
刚玩网页的时候,写的都是静态页 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 :
- 打开 \conf\httpd.conf ,查找 #LoadModule rewrite_module,将#号去掉,加载该模块
- 打开 \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相关推荐
- Htaccess文件是什么以及Windows下自由创建.htaccess文件的N种方法
.htaccess是什么 概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置. 通过htaccess文件,可以帮我们实现:网页301重定向.自定义404错误 ...
- [转] apache配置rewrite及.htaccess文件
转载自: http://www.uh80.com/?p=654 apache配置rewrite及.htaccess文件 1. 首先确定您使用的 Apache 版本,及是否加载了 mod_Rewrit ...
- 最新实战讲解.htaccess文件rewrite规则
.htaccess文件大家都不陌生吧.不认识的自己去搜一下--顺便告诉你,这是个好东西,值得一学. 似乎网上关于.htaccess编写方法的教程很有限,相信博主们也没有几个是自己写的吧? 我在这里就搜 ...
- linux nginx htaccess,nginx支持.htaccess文件实现rewrite伪静态
在网上查到的资料很多人都说nginx目前不支持.htaccess文件来做伪静态,小子也觉得不应该,作为世界上轻量级最好用的WEB服务器,Nginx应该可以的,谷歌了一下,找到了nginx完全可以支持. ...
- Apache伪静态(Rewrite).htaccess文件详解以及RewriteCond 规则
Htaccess(超文本访问)是一个简单的配置文件,它允许设计师,开发者和程序员通过它来改变Apache Web服务器的配置. 这些功能包括用户重定向.URL重写(url rewrite,国内很多称为 ...
- Linux下nginx支持.htaccess文件实现伪静态的方法!
在Google上搜索的资料很多人都说nginx目前不支持.htaccess文件,我按照nginx的规则试验了一下,结果发现nginx是完全支持.htaccess文件的! 方法如下: 1. 在需要使用. ...
- php的htaccess,PHP .htaccess文件详细介绍
1.什么是.htaccess文件及 .htaccess文件(或者"分布式配置文件")提供了针对每个目录改变配置的方法,即在一个特定的目录中放置一个包含指令的文件,其中的指令作用于此 ...
- Apache通过配置.htaccess文件禁止访问.git、.svn等目录
如果你用过Git.SVN等代码版本控制工具的话,那肯定会知道,如果你需要拉去最新的代码到本地时,会自动生成一个.git或者.svn文件夹,里面包含一些项目相关的信息,如果在部署项目是,把这些文件公开暴 ...
- php .htaccess 的作用,php .htaccess文件使用详解
1..htaccess文件使用前提 .htaccess的主要作用就是实现url改写,也就是当浏览器通过url访问到服务器某个文件夹时,作为主人,我们可以来接待这个url,具体地怎样接待它,就是此文件的 ...
最新文章
- 数据结构与算法(2-2)线性表之链式存储(单链表、静态链表、循环链表、双向循环链表)
- PHP源代码分析-字符串搜索系列函数实现详解
- 论CondConv、DynamicConv、DyNet的区别与联系
- UVA 103 Stacking Boxes 套箱子 DAG最长路 dp记忆化搜索
- Python 2.7 Exception格式化工具
- 搜索引擎lucene
- 第一个发现我嫂子有喜的竟然是......
- php create()方法,ThinkPHP中create()方法自动验证实例
- linux连接外部库时候编译,交叉编译时如何使用外部库?
- 管理系统 c++图形界面_锁螺母ERP系统,一站式各国语言管理系统
- 情人节海报psd分层模板|好的图层,任你选择
- 微课|中学生可以这样学Python(例8.21):选择法排序
- 深入理解数组与指针——原因在于”退化“
- 5.1linux_ubuntu常见安装问题
- 行为型设计模式(1)—— 责任链模式(Chain of Responsibility Pattern)
- 一键生成流量密码(夸张广告标题)
- 深度强化学习DQN(Deep Q Network)原理及例子:如何解决迷宫问题,附源码
- TwinCAT3 控制器PLC之间EAP通讯3-从机发送方式2
- 用html如何设计日历,用CSS设计日历
- java md5加密64位_MD5加密的Java实现