Apache .htaccess Rewrite规则 初体验
2012-11-12 20:23
176 查看
但是又因为不熟悉rewrite,做了如下的调整,手动建立了一堆的文件夹:
这样的目录结构,维护起来相当麻烦。每次新加一个页面,都要开一个文件夹。
其实采用左边那套结构部署上去,服务器稍做设置,就可以支持我们想要的URL效果。
如何玩rewrite
首先看看自己的服务器是否支持.htaccess
如果支持这货,就不用每次写条规则就重启一次服务器了,便于测试。
redirect301/test.htmhttp://uicss.cn/
成功的话,当你访问xxx.com/test.htm的时候,会自动跳到我的博客。
不成功的话,需要开启一下.htaccess:
打开confhttpd.conf,查找#LoadModulerewrite_module,将#号去掉,加载该模块
打开confextrahttpd-vhosts.conf,查找AllowOverrideNone,将None变更为All
环境准备完成后,还需要对“模式匹配”中特殊字符在rewrite的解读做一下了解:
*代表前面0或更多个字符
+代表前面1或更多个字符
?代表前面0或1个字符
^代表字符串的开始位置
^在方括号里代表“非”,例如[^/]代表非斜杠。
$代表字符串结束的位置
.代表任何字符(也就是通配符)
取消后面字符的特殊意思,转为原义字符。
——这部分的理解出自《SEO艺术》第六章末
开始干吧,打开.htaccess的rewrite
RewriteEngineon
把xxx.htm文件替换为xxx/
RewriteRule^(.*)/$/$1.htm[L]
再给一个例子加深理解,这是将服务器上的xxx.php文件替换成xxx.html
RewriteRule^(.*).html$/$1.php[L]
更多用法:
让所有访问www.test.com/xxx/的用户跳转到test.com/xxx/
RewriteCond%{HTTP_HOST}^test.com[NC]
RewriteRule^(.*)$http://uicss.cn/$1[L,R=301]
对指定目录开启转向的代码:
RewriteBase/top/
带搜索参数的转向:
RewriteRule^search/(.+)?$/index.php?s=$1[QSA,L]
目录末尾补斜线:
RewriteRule^(.+[^/])$/$1/[R]
这样的目录结构,维护起来相当麻烦。每次新加一个页面,都要开一个文件夹。
其实采用左边那套结构部署上去,服务器稍做设置,就可以支持我们想要的URL效果。
如何玩rewrite
首先看看自己的服务器是否支持.htaccess
如果支持这货,就不用每次写条规则就重启一次服务器了,便于测试。
redirect301/test.htmhttp://uicss.cn/
成功的话,当你访问xxx.com/test.htm的时候,会自动跳到我的博客。
不成功的话,需要开启一下.htaccess:
打开confhttpd.conf,查找#LoadModulerewrite_module,将#号去掉,加载该模块
打开confextrahttpd-vhosts.conf,查找AllowOverrideNone,将None变更为All
环境准备完成后,还需要对“模式匹配”中特殊字符在rewrite的解读做一下了解:
*代表前面0或更多个字符
+代表前面1或更多个字符
?代表前面0或1个字符
^代表字符串的开始位置
^在方括号里代表“非”,例如[^/]代表非斜杠。
$代表字符串结束的位置
.代表任何字符(也就是通配符)
取消后面字符的特殊意思,转为原义字符。
——这部分的理解出自《SEO艺术》第六章末
开始干吧,打开.htaccess的rewrite
RewriteEngineon
把xxx.htm文件替换为xxx/
RewriteRule^(.*)/$/$1.htm[L]
再给一个例子加深理解,这是将服务器上的xxx.php文件替换成xxx.html
RewriteRule^(.*).html$/$1.php[L]
更多用法:
让所有访问www.test.com/xxx/的用户跳转到test.com/xxx/
RewriteCond%{HTTP_HOST}^test.com[NC]
RewriteRule^(.*)$http://uicss.cn/$1[L,R=301]
对指定目录开启转向的代码:
RewriteBase/top/
带搜索参数的转向:
RewriteRule^search/(.+)?$/index.php?s=$1[QSA,L]
目录末尾补斜线:
RewriteRule^(.+[^/])$/$1/[R]
相关文章推荐
- apache 开启 rewrite 重写规则 apache 目录 htaccess rewrite 重写规则 (伪静态)
- .htaccess中的apache rewrite规则写法详解
- .htaccess中的apache rewrite规则写法详解
- apache-.htaccess中的apache rewrite规则详解
- .htaccess中的apache rewrite规则详解
- Apache 重写规则的常见应用 (rewrite)
- Apache Rewrite规则详解
- ThinkPHP 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php
- Apache Rewrite 规则详解
- Apache Rewrite 规则详解
- apache的rewrite静态配置以及.htaccess的使用。
- Apache Rewrite 规则详解
- 如何让IIS支持Apache .htaccess 的重写规则
- Apache的rewrite规则详细介绍
- 13个实用的Apache Rewrite重写规则
- Apache的Rewrite规则详细介绍
- Apache伪静态(Rewrite).htaccess文件详解
- 转--htaccess语法教程 apache服务器伪静态规则教程
- Apache Rewrite 规则详解
- Apache htaccess 中的RewriteCond 规则介绍