Apache mod_rewrite规则重写的标志一览

简介:

Apache mod_rewrite规则重写的标志一览

1) R[=code](force redirect) 强制外部重定向
强制在替代字符串加上http://thishost[:thisport]/前缀重定向到外部的URL.如果code不指定,将用缺省的302 HTTP状态码。
2) F(force URL to be forbidden)禁用URL,返回403HTTP状态码。
3) G(force URL to be gone) 强制URL为GONE,返回410HTTP状态码。
4) P(force proxy) 强制使用代理转发。(内部代理)
5) L(last rule) 表明当前规则是最后一条规则,停止分析以后规则的重写。
6) N(next round) 重新从第一条规则开始运行重写过程。
7) C(chained with next rule) 与下一条规则关联

如果规则匹配则正常处理,该标志无效,如果不匹配,那么下面所有关联的规则都跳过。

8) T=MIME-type(force MIME type) 强制MIME类型
9) NS (used only if no internal sub-request) 只用于不是内部子请求
10) NC(no case) 不区分大小写
11) QSA(query string append) 追加请求字符串
12) NE(no URI escaping of output) 不在输出转义特殊字符
例如:RewriteRule /foo/(.*) /bar?arg=P1%3d$1 [R,NE] 将能正确的将/foo/zoo转换成/bar?arg=P1=zoo
13) PT(pass through to next handler) 传递给下一个处理
例如:
RewriteRule ^/abc(.*) /def$1 [PT] # 将会交给/def规则处理
Alias /def /ghi
14) S=num(skip next rule(s)) 跳过num条规则
15) E=VAR:VAL(set environment variable) 设置环境变量

===============================================

 

1、Apache中vhosts里相同的ServerName配置的生效顺序:第一匹配

   在Apache的配置文件httpd.conf中,如果有相同的配置选项,应是后面的参数覆盖前面的参数(记得在手册以及网上这样说过,写本文时没有验证)。
  
   然而在apache中Include conf/extra/httpd-vhosts.conf时,是从前面开始读取,当match到<VirtualHost  >,且match到ServerName时,就不再向后面读了。如以下配置:
<VirtualHost *>
    DocumentRoot /Docdir/ce
    ServerName ce.cn
 </VirtualHost>
<VirtualHost *>
    DocumentRoot /Docdir/ce/ce.cn
    ServerName ce.cn
</VirtualHost>
则应是匹配上面的一个配置,就是读/Docdir/ce下面的文件。
 

2、去NAS迁移

 
 
  1. 1、删除 
  2. #<IfModule mod_alias.c> 
  3. #       Alias /file/ "/mnt/efs/www/smartform/" 
  4. #</IfModule> 
  5.  
  6. 2、打开rewrite功能(必要时检查apache是否已经加载rewrite模块: ./apachectl -l) 
  7. 在修改virtualhost.conf时,需要先打开rewrite功能:RewriteEngine On 
  8.  
  9.  
  10. 3、添加RewriteRule  
  11.  RewriteRule ^/file/(.*)   http://*****/download/www/smartform/$1 [L,P] 

3、login

RewriteRule ^/a_group_uni_style_login:${a_intl_uni_connection_ssl_port}/(.*)$ http://style.a.com/$1 [L,P]

  RewriteRule ^/ali_group_unicorn_style:${alibaba_intl_unicorn_connection_ssl_port}/(.*)$ http://style.aliunic.com/$1 [L,P]

4、在httpd.conf中将virtualhost.conf进来

<generate template="virtualhost.conf.vm" destfile="conf/virtualhost.conf" charset="GBK" />

 

 本文转自 tianya23 51CTO博客,原文链接:http://blog.51cto.com/tianya23/988746,如需转载请自行联系原作者

相关文章
|
3月前
|
Apache
多应用模式下,忽略项目的入口文件,重写Apache规则
本文介绍了在多应用模式下,如何通过编辑Apache的.htaccess文件来重写URL规则,从而实现忽略项目入口文件index.php进行访问的方法。
|
6月前
|
应用服务中间件 Apache nginx
apache、nginx开启rewrite重写服务及伪静态
apache、nginx开启rewrite重写服务及伪静态
338 4
|
Dubbo 应用服务中间件 Apache
带你读《Apache Dubbo微服务开发从入门到精通》—— 五、 动态配置规则
带你读《Apache Dubbo微服务开发从入门到精通》—— 五、 动态配置规则
131 11
|
Dubbo 应用服务中间件 测试技术
带你读《Apache Dubbo微服务开发从入门到精通》—— 三、 标签路由规则
带你读《Apache Dubbo微服务开发从入门到精通》—— 三、 标签路由规则
236 5
|
Dubbo 应用服务中间件 Apache
带你读《Apache Dubbo微服务开发从入门到精通》—— 二、 条件路由规则
带你读《Apache Dubbo微服务开发从入门到精通》—— 二、 条件路由规则
193 6
|
负载均衡 Dubbo JavaScript
带你读《Apache Dubbo微服务开发从入门到精通》—— 四、 脚本路由规则
带你读《Apache Dubbo微服务开发从入门到精通》—— 四、 脚本路由规则
193 5
|
Apache 开发工具 SEO
Apache Typecho框架启用地址重写
地址重写有利于SEO优化,开启地址重写可以去掉Typecho框架中的index.php后缀,该后缀如下。
356 0
Apache Typecho框架启用地址重写
|
Apache
利用apache的mod_rewrite做URL规则重写
使用mod_rewrite做url重写,伪静态,做过很多次,这次用几个例子记下来,便于后面查用。 使用方法:  1.在conf目录的httpd.conf文件中找到:            LoadModule rewrite_module modules/mod_rewrite.
1382 0
|
Apache
wdcp对default站点开启apache url重写功能
网站开启对default网站的重写功能
927 0

推荐镜像

更多