仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 464|回复: 8
打印 上一主题 下一主题

[其他Linux] 带来一篇ISAPI-REWRITE伪静态划定规矩写法和申明

[复制链接]
因胸联盟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 12:21:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
不同版本的Linux命令数量不一样,这里笔者把它们中比较重要的和使用频率最多的命令。
REWRITE伪静态

1、Apache设置:
进进/etc/httpd/conf/目次下,翻开httpd.conf文件。
启用rewrite
#LoadModulerewrite_modulemodules/mod_rewrite.so往除后面的#
启用.htaccessAllowOverrideNone修正为:AllowOverrideAll
--------------------------------------------------------------------------------
2、Rewrite写法
服务器有设置文件不成能由我们来改,以是年夜多情形下要在网站的根目次下建一个.htaccess文件。
RewriteEngineon//启动rewrite引擎
RewriteRule^/index([0-9]*).html$/index.php?id=$1//“([0-9]*)”代表局限用(.*)代表一切,下同。
RewriteRule^/index([0-9]*)/$/index.php?id=$1[R]//假造目次
--------------------------------------------------------------------------------
3、mod_rewrite划定规矩修改符
1)R强迫内部重定向
2)F禁用URL,前往403HTTP形态码。
3)G强迫URL为GONE,前往410HTTP形态码。
4)P强迫利用代办署理转发。
5)L标明以后划定规矩是最初一条划定规矩,中断剖析今后划定规矩的重写。
6)N从头从第一条划定规矩入手下手运转重写历程。
7)C与下一条划定规矩联系关系,假如划定规矩婚配则一般处置,以下修改符有效
8)T=MIME-type(forceMIMEtype)强迫MIME范例
9)NS只用于不是外部子哀求
10)NC不辨别巨细写
11)QSA追加哀求字符串
12)NE不在输入本义特别字符\%3d$1等价于=$1

ISAPI_Rewrite划定规矩写法
罕见ISAPI_Rewrite划定规矩写法
.代码以下:

#扫除以后假造主机必要一般会见的域名(web.3637.comwww.3637.com)
#RewriteCondHost:(?:web|www).eboat.cn
#多半情形下是一个,即以后供应二级域名服务的体系(如建站体系)
RewriteCondHost:web.eboat.cn
RewriteRule(.*)$1[L]
#办理不标准目次(开端无/)的成绩
#但条件是目次名不含‘.而文件名必需包括,不然没法辨别二者
#假如包管URL中的目次称号标准,则无需此划定规矩
RewriteRule^/([^.]+[^/]$)/$1/[L,R]
#提取恣意的二级域名称号(即第一个辞汇)
#用[a-zA-Z0-9_-]限定称号字符,重写Url到Home/子目次下
#如test.3637.com=>web.3637.com/Home/test
RewriteCondHost:([a-zA-Z0-9_-]+).eboat.cn
RewriteRule^/(.*)/Home/$1/$2[I,L]
[ISAPI_Rewrite]
RepeatLimit1
#Defendyourcomputerfromsomewormattacks
RewriteRule.*(?:global.asa|default.ida|root.exe|..).*.[F,I,O]
#扫除以后假造主机必要一般会见的域名(web.3637.comwww.3637.com)
#RewriteCondHost:(?:web|www).eboat.cn
#多半情形下是一个,即以后供应二级域名服务的体系(如建站体系)
RewriteCondHost:web.eboat.cn
RewriteRule(.*)$1[L]
#办理不标准目次(开端无/)的成绩
#但条件是目次名不含‘.而文件名必需包括,不然没法辨别二者
#假如包管URL中的目次称号标准,则无需此划定规矩
RewriteRule^/([^.]+[^/]$)/$1/[L,R]
#提取恣意的二级域名称号(即第一个辞汇)
#用[a-zA-Z0-9_-]限定称号字符,重写Url到Home/子目次下
#如test.3637.com=>web.3637.com/Home/test
RewriteCondHost:([a-zA-Z0-9_-]+).eboat.cn
RewriteRule^/(.*)/Home/$1/$2[I,L]



HTTPD.INI文件示例
.代码以下:

[ISAPI_Rewrite]
#Thisisacomment
#300=5minutes
CacheClockRate300
RepeatLimit20
#Blockexternalaccesstothehttpd.iniandhttpd.parse.errorsfiles
RewriteRule/httpd(?:.ini|.parse.errors)/[F,I,O]
#BlockexternalaccesstotheHelperISAPIExtension
RewriteRule.*.isrwhlp/[F,I,O]
#Somecustomrules
RewriteCondHost:(.+)
RewriteCond指令


Syntax:(句法)RewriteCondTestVerbCondPattern[Flags]
这一指令界说一个前提划定规矩,在RewriteRule大概RewriteHeader或RewriteProxy指令前预行RewriteCond指令,前面的划定规矩只要它的,形式婚配URI确当前形态而且分外的前提也被使用才会被使用。
TestVerb
Specifiesverbthatwillbematchedagainstregularexpression.
出格界说的动词婚配划定的表达式
TestVerb=(URL|METHOD|VERSION|HTTPHeaderName:|%ServerVariable)where:
URL-returnsRequest-URIofclientrequestasdescribedinRFC2068(HTTP1.1);
前往客户端在RFC2068中形貌的需求的Request-URI
METHOD-returnsHTTPmethodofclientrequest(OPTIONS,GET,HEAD,POST,PUT,DELETEorTRACE);
前往客户端需求(OPTIONS,GET,HEAD,POST,PUT,DELETEorTRACE)的HTTP办法
VERSION-returnsHTTPversion;
前往HTTP版本
HTTPHeaderName-returnsvalueofthespecifiedHTTPheader.HTTPHeaderNamecanbeanyvalidHTTPheadername.Headernamesshouldincludethetrailingcolon":".IfspecifiedheaderdoesnotexistsinaclientsrequestTestVerbistreatedasemptystring.
前往特界说的HTTP头文件的值
HTTPHeaderName=
Accept:
Accept-Charset:
Accept-Encoding:
Accept-Language:
Authorization:
Cookie:
From:
Host:
If-Modified-Since:
If-Match:
If-None-Match:
If-Range:
If-Unmodified-Since:
Max-Forwards:
Proxy-Authorization:
Range:
Referer:
User-Agent:
Any-Custom-Header
失掉更多的关于HTTP头文件的和他们的值的信息参考RFC2068

ServerVariable前往特界说的服务器变量的值。比方服务器端口,全体服务器变量列表应在IIS文档中创建,变量名使用%符预定;
CondPattern
TheregularexpressiontomatchTestVerb
划定规矩表达式婚配TestVerb
[Flags]
Flagsisacomma-separatedlistofthefollowingflags:

O(nOrmalize)
Normalizesstringbeforeprocessing.NormalizationincludesremovingofanURL-encoding,illegalcharacters,etc.ThisflagisusefulwithURLsandURL-encodedheaders
RewriteRule指令
Syntax:RewriteRulePatternFormatString[Flags]
这个指令能够不止产生一次,每一个指令界说一个独自的重写划定规矩,这些划定规矩的界说命令很主要,由于这个命令在使用运转时划定规矩是有效途的
I(ignorecase)
不论巨细写强行指定字符婚配,这个FLAG影响RewriteRule指令和响应的RewriteCond指令
F(Forbidden)
对客户端做反响,中断REWRITING历程而且发送403毛病,注重在这类情形下FORMATSTRING是无用的并能够设置为任何非空字符串。
L(lastrule)
不该用任何重写划定规矩在此中断重写历程,利用这个FLAG以制止以后被重写的URI被前面的划定规矩再次重写
N(Nextiteration)
强迫REWRITINGENGINE调剂划定规矩方针而且重新重启划定规矩反省(一切修正将保留),重启次数由RepeatLimit指定的值限定,假如这个数值凌驾NFLAG将被疏忽
NS(Nextiterationofthesamerule)
以N标志事情不从不异的划定规矩重启划定规矩划定规矩历程(比方强迫反复划定规矩使用),经由过程RepeatLimit指令指定一个重复实施某一划定规矩的最年夜数量,
P(forceproxy)
强迫目标URI在外部强迫为代办署理需求而且当即经由过程ISAPI扩大对付代办署理需求,必需确认代办署理字符串是一个无效的URI包含协定主机等等不然代办署理将前往毛病
R(explicitredirect)
强迫服务器对客户端收回重定向唆使立即应对,供应目标URI的新地点,重定向划定规矩常常是最初划定规矩
RP(permanentredirect)
几近和[R]标志不异可是公布301HTTP形态而不是302HTTP形态代码
U(UnmangleLog)
当URI是源需求而不是重写需求时纪录URI
O(nOrmalize)
在实施之前尺度化字符串。尺度化包含URL-ENCODING,分歧法的字符的再挪动等,这个标志关于URLS和URLS-ENDODED头是有效的
CL(CaseLower)
小写
CU(CaseUpper)
年夜写
RewriteHeaderdirective
Syntax:RewriteHeaderHeaderNamePatternFormatString[Flags]
这个指令是RewriteRule的更归纳综合化变种,它不但重写URL的客户端需求部分,并且重写HTTP头,这个指令不但用于重写。天生,删除任何HTTP头,乃至改动客户端哀求的办法
HeaderName
指定将被重写的客户头,可取的值与RewriteCond指令中TestVerb参数不异
Pattern
限制划定规矩表达式以婚配Request-URI,
FormatString
限制将天生新的URI的FormatString
[Flags]
是一个以下FLAGS的命令分开列表
I(ignorecase)
不论巨细写强行指定字符婚配,这个FLAG影响RewriteRule指令和响应的RewriteCond指令
F(Forbidden)
对客户端做反响,中断REWRITING历程而且发送403毛病,注重在这类情形下FORMATSTRING是无用的并能够设置为任何非空字符串。
L(lastrule)
不该用任何重写划定规矩在此中断重写历程,利用这个FLAG以制止以后被重写的URI被前面的划定规矩再次重写
N(Nextiteration)
强迫REWRITINGENGINE调剂划定规矩方针而且重新重启划定规矩反省(一切修正将保留),重启次数由RepeatLimit指定的值限定,假如这个数值凌驾NFLAG将被疏忽
NS(Nextiterationofthesamerule)
以N标志事情不从不异的划定规矩重启划定规矩划定规矩历程(比方强迫反复划定规矩使用),经由过程RepeatLimit指令指定一个重复实施某一划定规矩的最年夜数量,
R(explicitredirect)
强迫服务器对客户端收回重定向唆使立即应对,供应目标URI的新地点,重定向划定规矩常常是最初划定规矩
RP(permanentredirect)
几近和[R]标志不异可是公布301HTTP形态而不是302HTTP形态代码
U(UnmangleLog)
当URI是源需求而不是重写需求时纪录URI
O(nOrmalize)
在实施之前尺度化字符串。尺度化包含URL-ENCODING,分歧法的字符的再挪动等,这个标志关于URLS和URLS-ENDODED头是有效的
CL(CaseLower)
小写
CU(CaseUpper)
年夜写
要重挪动头,FORMATSTRING形式应当天生一个空字符串,比方这一划定规矩将从客户哀求中重移代办署理

开发linux发行版的人都是通读过linux内核代码,对linux原理极其精通的人。
愤怒的大鸟 该用户已被删除
沙发
发表于 2015-1-18 09:45:10 | 只看该作者
查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、Unix的经验总结非常有参考价值通常40%的问题同样可以解决。
小女巫 该用户已被删除
板凳
发表于 2015-1-26 19:45:41 | 只看该作者
再次,Linux是用C语言编写的,我们有学习C语言的基础,读程序和编写代码方面存在的困难小一点,也是我们能较快掌握的原因之一。?
只想知道 该用户已被删除
地板
发表于 2015-2-4 21:00:33 | 只看该作者
我想即使Linux高手也很难快速准确精练的回答你。
山那边是海 该用户已被删除
5#
发表于 2015-2-10 11:00:35 | 只看该作者
眼看这个学期的Linux课程已经告一段落了,我觉得有必要写一遍心得体会来总结一下这学期对着门课程的学习。
冷月葬花魂 该用户已被删除
6#
发表于 2015-3-1 12:22:40 | 只看该作者
Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。
若天明 该用户已被删除
7#
发表于 2015-3-10 18:12:47 | 只看该作者
笔者五分钟后就给出了解决方法: “首先备份原文件到其他目录,然后删掉/usr/local/unispim/unispimsp.ksc,编辑 /usr/local/unispim/unispimsp.ini,最后重启动计算机
精灵巫婆 该用户已被删除
8#
发表于 2015-3-17 10:08:20 | 只看该作者
对Linux命令熟悉后,你可以开始搭建一个小的Linux网络,这是最好的实践方法。Linux是网络的代名词,Linux网络服务功能非常强大,不论是邮件服务器、Web服务器、DNS服务器等都非常完善。
海妖 该用户已被删除
9#
发表于 2015-3-24 07:17:14 | 只看该作者
永中office 2004增强版安装只需要默认安装即可使用并操作大多与win系统雷同,打印机的配置和管理,记录光盘等。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-27 23:28

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表