Apache常用地址重写配置
2013-08-16 21:25
465 查看
首选要开启Apache的地址重写模块mod_rewrite.so
1. 指定页面地址重定向 RewriteEngine On RewriteCond %{Server_Port } !443$ ReWriteRule ^/?(test1.php|test2.php|test3.php)$ https://www.example.com/%1 [R=301,L]
也可以写成这样
RewriteCond %{REQUEST_URI} login.php$
RewriteRule ^(.*)$ https://%{SERVER_NAME}/%{REQUEST_URI} [L,QSA]
2.访问不存在的文件直接跳到首页
RewriteEngine On RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-l RewriteRule ^/(.*)$ /index.php?rt=$1 [R,QSA]
规则的标志详细说明
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=zed
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) 设置环境变量
本文出自 “清风明月” 博客,请务必保留此出处http://coolsky.blog.51cto.com/177347/1275226
1. 指定页面地址重定向 RewriteEngine On RewriteCond %{Server_Port } !443$ ReWriteRule ^/?(test1.php|test2.php|test3.php)$ https://www.example.com/%1 [R=301,L]
也可以写成这样
RewriteCond %{REQUEST_URI} login.php$
RewriteRule ^(.*)$ https://%{SERVER_NAME}/%{REQUEST_URI} [L,QSA]
2.访问不存在的文件直接跳到首页
RewriteEngine On RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-l RewriteRule ^/(.*)$ /index.php?rt=$1 [R,QSA]
规则的标志详细说明
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=zed
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) 设置环境变量
本文出自 “清风明月” 博客,请务必保留此出处http://coolsky.blog.51cto.com/177347/1275226
相关文章推荐
- apache2.2.21下为codeigniter配置url地址重写
- apache2.2.21下配置url地址重写 去掉index.php
- wamp win2003 drupal配置apache下url地址重写
- Apache+PHP+MySql -- 常用配置地址
- 在linux中 apache 重写失效(各种模块都开了不启作用。 httpd.conf中是否加载其它配置文件
- Apache 地址重写简单介绍
- ubuntu 12.04下apache 配置家目录地址
- Apache & nginx 的地址重写 url_rewrite,省略 index.php
- Apache服务器配置文件httpd.conf 常用操作中文版介绍
- Apache Awstats 安装配置系列 (2)之 apache部署WEB项目(配置多个地址)
- apache常用的配置指令:ServerAdmin
- Apache常用配置
- Apache 地址重写简单介绍
- Apache的常用配置
- apache rewrite重写配置和本机域名配置,访问权限设置,伪静态实际应用
- .htaccess Rewrite apache重写和配置
- apache常用的配置指令:DocumentRoot
- 详解Apache下.htaccess文件常用配置
- 详解Apache下.htaccess文件常用配置