因胸联盟 发表于 2015-1-16 12:21:38

带来一篇ISAPI-REWRITE伪静态划定规矩写法和申明

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

1、Apache设置:
进进/etc/httpd/conf/目次下,翻开httpd.conf文件。
启用rewrite
#LoadModulerewrite_modulemodules/mod_rewrite.so往除后面的#
启用.htaccessAllowOverrideNone修正为:AllowOverrideAll
--------------------------------------------------------------------------------
2、Rewrite写法
服务器有设置文件不成能由我们来改,以是年夜多情形下要在网站的根目次下建一个.htaccess文件。
RewriteEngineon//启动rewrite引擎
RewriteRule^/index(*).html$/index.php?id=$1//“(*)”代表局限用(.*)代表一切,下同。
RewriteRule^/index(*)/$/index.php?id=$1//假造目次
--------------------------------------------------------------------------------
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
#办理不标准目次(开端无/)的成绩
#但条件是目次名不含‘.而文件名必需包括,不然没法辨别二者
#假如包管URL中的目次称号标准,则无需此划定规矩
RewriteRule^/([^.]+[^/]$)/$1/
#提取恣意的二级域名称号(即第一个辞汇)
#用限定称号字符,重写Url到Home/子目次下
#如test.3637.com=>web.3637.com/Home/test
RewriteCondHost:(+).eboat.cn
RewriteRule^/(.*)/Home/$1/$2

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



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


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


Syntax:(句法)RewriteCondTestVerbCondPattern
这一指令界说一个前提划定规矩,在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

Flagsisacomma-separatedlistofthefollowingflags:

O(nOrmalize)
Normalizesstringbeforeprocessing.NormalizationincludesremovingofanURL-encoding,illegalcharacters,etc.ThisflagisusefulwithURLsandURL-encodedheaders
RewriteRule指令
Syntax:RewriteRulePatternFormatString
这个指令能够不止产生一次,每一个指令界说一个独自的重写划定规矩,这些划定规矩的界说命令很主要,由于这个命令在使用运转时划定规矩是有效途的
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)
几近和标志不异可是公布301HTTP形态而不是302HTTP形态代码
U(UnmangleLog)
当URI是源需求而不是重写需求时纪录URI
O(nOrmalize)
在实施之前尺度化字符串。尺度化包含URL-ENCODING,分歧法的字符的再挪动等,这个标志关于URLS和URLS-ENDODED头是有效的
CL(CaseLower)
小写
CU(CaseUpper)
年夜写
RewriteHeaderdirective
Syntax:RewriteHeaderHeaderNamePatternFormatString
这个指令是RewriteRule的更归纳综合化变种,它不但重写URL的客户端需求部分,并且重写HTTP头,这个指令不但用于重写。天生,删除任何HTTP头,乃至改动客户端哀求的办法
HeaderName
指定将被重写的客户头,可取的值与RewriteCond指令中TestVerb参数不异
Pattern
限制划定规矩表达式以婚配Request-URI,
FormatString
限制将天生新的URI的FormatString

是一个以下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)
几近和标志不异可是公布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高手也很难快速准确精练的回答你。

山那边是海 发表于 2015-2-10 11:00:35

眼看这个学期的Linux课程已经告一段落了,我觉得有必要写一遍心得体会来总结一下这学期对着门课程的学习。

冷月葬花魂 发表于 2015-3-1 12:22:40

Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。

若天明 发表于 2015-3-10 18:12:47

笔者五分钟后就给出了解决方法: “首先备份原文件到其他目录,然后删掉/usr/local/unispim/unispimsp.ksc,编辑 /usr/local/unispim/unispimsp.ini,最后重启动计算机

精灵巫婆 发表于 2015-3-17 10:08:20

对Linux命令熟悉后,你可以开始搭建一个小的Linux网络,这是最好的实践方法。Linux是网络的代名词,Linux网络服务功能非常强大,不论是邮件服务器、Web服务器、DNS服务器等都非常完善。

海妖 发表于 2015-3-24 07:17:14

永中office 2004增强版安装只需要默认安装即可使用并操作大多与win系统雷同,打印机的配置和管理,记录光盘等。
页: [1]
查看完整版本: 带来一篇ISAPI-REWRITE伪静态划定规矩写法和申明