当前位置: 首页 > Linux

ApacheRewrite的主要功能使用

时间:2023-04-07 01:13:45 Linux

1。ApacheRewrite的主要功能是基于Perl语言的正则表达式规范,实现URL的跳转和隐藏真实地址。通常帮助我们实现准静态、准目录、域名跳转、防盗链等。2.ApacheRewrite配置。直接写在httpd.conf下。配置步骤如下:(1)去掉httpd.conf文件中“#LoadModulerewrite_modulemodules/mod_rewrite.so”前面的“#”;(2)然后在httpd.conf中写入如下规则:RewriteEngineon当访问任何以t_开头以.html结尾的文件时,将$1替换为匹配(.*)的字符,访问对应的test.php页面RewriteRule^/t_(.*).html$/test.php?id=$1还有一个是apache服务器下某个目录的配置。此配置的重写规则需要写入此目录下的.htaccess文件中。配置步骤如下:(1)去掉httpd.conf文件中“#LoadModulerewrite_modulemodules/mod_rewrite.so”前面的“#”;(2)修改httpd.conf文件中的“AllowOverrideNone”为“AllowOverrideall”,同时最好将Options设置为“all”,否则会出现问题。(3)在该目录下创建.htaccess文件,用记事本打开,写入如下规则:RewriteEngineonRewriteRule^/t_(.*).html$/test.php?id=$13.ApacheRewriterulewritingRewriteEngine关于RewriteRule^/test([0-9]*).html$/test.php?id=$1RewriteRule^/new([0-9]*)/$/new.php?id=$1[R]RewriteEngineon当我们访问的地址不以www.163.com开头,则执行下一条规则RewriteCond%{HTTP_HOST}!^www.163.com[NC]RewriteRule^/(.*)http://www.163.com/[L]4.ApacheRewrite规则修饰符1)R强制外部重定向2)F禁用URL,返回403HTTP状态代码。3)G强制URL为GONE并返回410HTTP状态代码。4)P强制代理转发。5)L表示当前规则为最后一条规则,停止分析后重写后续规则。6)N从第一条规则开始重新运行重写过程。7)C与下一条规则相关联。如果规则匹配,则正常处理。以下修饰符无效。8)T=MIME-type(forceMIMEtype)ForceMIMEtype9)NS只用于非内部子请求10)NC不敏感写11)QSA附加请求字符串12)NE不输出转义的特殊字符%3d$1等同于=$1