重写url必须掌握正须表式

重写url必须掌握正须表式
重写url必须掌握正须表式

重写url必须掌握正须表式

正须表式是一须可以用于模式匹配和替须的强有力的工具。我须可以在乎所有的基于达几UNIX系须的工具中到正须表找式的身影例如达vi须须器Perl或PHP脚本须言以及awk 或sed shell程序等。此外象JavaScript须须客须端的脚本须言也提供了须正须表式的支持。由此可须正须表式已须超出了某须须言或某系须的局限成须人须须接受的念和功能。达达个广概正须表式可以须用须通须使用一系列的特殊字符建匹配模式然后把匹配模式据文件、程序须入以及达构与数WEB须面的表须须入等目须须象须行比须根据比须须象中是否包含匹配模式须行相须的程序。须例须正须表式的一最须普遍的须用就是用于须须用须在须须入的须件地址的格式是否正。如果通须正须表式须须用须须件地址来达个确达的格式正用须所的表须信息被正常须理 反之如果用须须入的须件地址正须表的模式不匹配须出提示信息确填写将会与达将会要求用须重新须入正的须件地址。由此可须正须表式在确达WEB须用的须须判中具有须足须重的作用。断基本须法在须正须表式的功能和作用有了初步的了解之后我须就具看一下正须表式的须法格式。达来体达正须表式的形式一般如下 达/love/

其中位于“/”定界符之须的部分就是要在目须须象中须行匹配的模式。用须只要把希望须匹配须象的模式容放入“将找内

/”定界符之须可。须了能须使用须更加活的定制模式容正须表式提供了须须的“元字符”。所须元字符就是指那些在正须表式中具即灵内达达有特殊意须的须用字符可以用须定其前须字符 位于元字符前面的字符 在目须须象中的出须模式。来即须须常用的元字符包括 “” “”以及“”。其中“”元字符须定其前须字符必须在目须须象中须须出须一次或多次“”元字符须定其前须字符必须在目须须象中出须零次或须须多次而“”元字符须定其前须须象必须在目须须象中须须出须零次或一次。下面就须我须看一下正须表式元字符的具须用。来达体/fo/ 因须上述正须表式中包含“达”元字符表示可以目须须象中的“与fool” “fo” 或者“football”等在字母f后面须须出须一或多字母个个o的字符串相匹配。/eg/ 因须上述正须表式中包含“达”元字符表示可以目须须象中的“与easy” “ego” 或者“egg”等在字母e后面须须出须零或多字母个个g的字符串相匹配。/Wil/ 因须上述正须表式中包含“ ”元字符表示可以目须须象中的“达与Win” 或者“Wilson”等在字母i后面须须出须零或一个字母个l的字符串相匹配。除了元字符之外用须须可以精指定模式在匹配须象中出须的须率。例如确/jim26/ 上述正须表式须定字符达m可以在匹配须象中须须出须2-6次因此上述正须表式可以同达jimmy或jimmmmmy等字符串相匹配。在须如何使用正须表式

有了初步了解之后我须看一下其重要的元字符的使用方式。达来它几个s 用于匹配须空格符包括个tab须和须行符 S 用于匹配除须空格符之外的所有字符 个

d 用于匹配从0到9的字 数w 用于匹配字母字或下须字符 数划W 用于匹配所有与w不匹配的字符

. 用于匹配除须行符之外的所有字符。 须明 我须可以把s和S以及w和W看作互须逆算 运下面我须就通须须例看一下如何在正须表式中使用上述元字符。达/s/ 上述正须表式可以用于匹配目须须象中的一或多空格字符。达个个/d000/ 如果我须手中有一须须的须须须表那须我须可以通须上述正须表式须而易须的须到所有须须千元的款须。份达找达除了我须以上所介须的元字符之外正须表式中须具有外一须须须特的须用字符定位符。定位符用于须定匹配模式在目须须达另独即象中的出须位置。须须常用的定位符包括 “” “” “b” 以及“B”。其中“”定位符须定匹配模式必须出须在目须字符串的须须“”定位符须定匹配模式必须出须在目须须象的须尾b定位符须定匹配模式必须出须在目须字符串的须须或须尾的须界之一而“两个B”定位符须须定匹配须象必须位于目须字符串的须须和须尾须界之匹配须象不能作须目须字符串的须须也不能作须目须字符串的须尾两个内即既。同须我须也可以把“”和“”以及“b”和“B”看作是互须逆算的须定位

符。须例须 运两来/hell/ 因须上述正须表式中包含“达”定位符所以可以目须须象中以“与hell” “hello”或“hellhound”须须的字符串相匹配。/ar/ 因须上述正须表式中包含“达”定位符所以可以目须须象中以“与car” “bar”或“ar” 须尾的字符串相匹配。/bbom/ 因须上述正须表式模式以“达b”定位符须须所以可以目须须象中以“与bomb” 或“bom”须须的字符串相匹配。/manb/ 因须上述正须表式模式以“达b”定位符须尾所以可以目须须象中以“与human” “woman”或“man”须尾的字符串相匹配。须了能须方便用须更加活的须定匹配模式正须表式允须使

用者在匹配模式中指定某一范须而不局限于具的字符。例如 灵达个体/A-Z/ 上述正须表式达将会与从A到Z 范须任何一大字母相匹配。内个写/a-z/ 上述正须表式达将会与从a到z范须任何一小字母相匹配。内个写/0-9/ 上述正须表式达将会与从0到9范须任何一字相匹配。内个数/a-zA-Z0-9/ 上述正须表式任何由字母和字须成的字符串如“达将会与数aB0” 等相匹配。须里需要提醒用须注意的一点就是可以在正须表式中使用“达” 把字符串须合在一起。“”符包含的容必须同须出须在目须须象中。因此上述正须表式无法须如号内达将与“abc”等的字符串匹配因须“abc”中的最后一字符须字母而非字。个数

如果我须希望在正须表式中须须须似须程须须中的“或”算在

多不同的模式中任须一须行匹配的须可以使用管道符“达运个个”。例如 /totoo2/ 上述正须表式目须须象中的“达将会与to” “too” 或“2” 相匹配。正须表式中须有一须须常用的算符否定符“达个运即”。我须前文所介须的定位符“与” 不同否定符“”须定目须须象中不能存在模式中所须定的字符串。例如 /A-C/ 上述字符串目须须象中除将会与AB和C之外的任何字符相匹配。一般须“来当”出须在“”须就被须做否定算符内运 而“当”位于“”之外或有“没”须须须被须做定位符。当最后用须需要在正须表式的模式中加入元字符须须其匹配须象须可以使用须须符“当达并找”。例如 /Th/ 上述正须表式目须须象中的“达将会与Th”而非“The”等相匹配。使用须例在须正须表式有了须须全面的了解之后我须就看一下如何在达来PerlPHP以及JavaScript中使用正须表式。达通常Perl 中正须表式的使用格式如下 达operator /

regular-expression / string-to-replace / modifiers算符一须可以是运m或s分须代表匹配算和替须算。运运其中正须表式一须是要须行匹配或替须操作的模式可以由任意字符元字符或定位符等须成。替须字符串一须是使用达将s算符须须须到的模式匹配须象须行替须的字符串。最后的须用控制不同的匹配或替须方式。例如 运找参数来

s/geed/good/在目须须象中须第一出须的将会找个geed

字串其替须须并将good。如果我须希望在目须须象的全局范须须行多次须替须操作的须内找—可以使用“参数g”即

s/love/lust/g。此外如果我须不需要限制匹配的大小形式的须可以使用“写参数i ”。例如m/JewEL/i上述正须表式目须须象中的达将会与jewelJewel或JEWEL相匹配。在Perl中使用须须的算符“运”指定正须表式的匹配须象。例如 达flag s/abc/ABC/上述正须表式把须量达将会flag中的字串abc替须须ABC。下面我须就在Perl程序中加入正须表式须须用须须件地址格式的有效性。代须如下 达/usr/bin/perl get input print “Whats your email addressn” email chompemail match and display result ifemail

/a-zA-Z0-9_-a-zA-Z0-9_-.a-zA-Z0-9_-/ print“Your email address is correctn” else

print“Please try againn” 如果用须更偏须PHP的须可以使用ereg函须行模式匹配操作。数ereg函的使用格式如下 数eregpattern string其中pattern代表正须表式的模式而达string须是须行须替须操作的目须须象。同须是须须须件地址使用找PHP须的程序代须如下写

最后我须在看一下来JavaScript。JavaScript 1.2中须有一功能强大的个RegExp须象可以用须行正须表式的匹配操作。来达其中的test方法可以须须目须须象中是否包含匹配模式相

须的返回并true或false。我须可以使用JavaScript须以下脚本须须用须须入的须件地址的有效性。写

URL 重可须须日期模式写--- 正须表式之强力须用达最近忙着自己的博客程式自然而然就须到了博客中老生须须的URL重须须。一原因是在多用须写个博客系须中的一面子须须本想拿我的个来CSDN博客

https://www.360docs.net/doc/8f14445068.html,/joshualang须事来想想须是用我的空须https://www.360docs.net/doc/8f14445068.html,因须须是我的博客完功之后的去所了。吧像https://www.360docs.net/doc/8f14445068.html,/blog/joshualang 如若不须行必要的URL重就出写会

https://www.360docs.net/doc/8f14445068.html,/blog/default.aspxBlogerjoshualang须子的博客地址 大家要知道BLOG可须是大部分民须须筑在须上的一家须须生活中考须家的地址须近交通好同须网网另个会坏须中的家也要有好须的须牌的。须须牌须不算太须 须不是非常面 后须在加上一堆的网个号个号体哦只须人慢慢须而生畏要看文章就要面须须须一大堆参数怕

https://www.360docs.net/doc/8f14445068.html,/Articles/Default.aspxBlogerjoshualangArticl eID20070118234530是不是有什须感须了 再看看目前好多博客程式都要得到的一须效果吧

https://www.360docs.net/doc/8f14445068.html,/joshua/Articles/2007/01/18/大家一看就知道须须效果的好须了须也就引到了本文的重点所在了 是的要通须须须一非常须整的字符串到我须的一目须。个来达个

一可行的个URL须须遵循以下须准须须 来须短。

?6?1 ?6?1 易于须入。?6?1 能看出站点的须。构

?6?1 “可须须”允须用须通须须除URL 的须成部分须须站点。来致于须点就不用我多须了其须都是要突出须须须用。来注意 须到须里就有必要看看MSDN站上网Scott Mitchell的一遍文件

https://www.360docs.net/doc/8f14445068.html,/china/msdn/library/webservices/asp. net/URLRewriting.mspxpftruetop已有须家在须里将URL重的原理须得足须明了不须能下须上须文件的原始须究一下。写确懂来研须了须效率 人的须须是须的程式须的须须更是 就直接采用宝https://www.360docs.net/doc/8f14445068.html,的须件须须上以前接须没触URL重须须大致得源程式看了遍就须始上路了。须始然不求什须技须含量了只要能写几当重成功就已感须非

常写OK了然后才是在不的重须程中出其中须须更有新思路新须须。。断写找。所以就有了须遍文章。目前须始。须次须须的其须主要就是须提到的日期模式的吧URL重

写.https://www.360docs.net/doc/8f14445068.html,/Articles/2007/01/18/233030/joshualang.a spx 须就是要在须里须须的最须效果。基须 https://www.360docs.net/doc/8f14445068.html, 须件 然也能自已 了解正须表式当写达 参数ArticleID //文章须号须型 string 须度

14 like yyyymmddhhmmss //有意须且不重须会Bloger //博主用须名须型 string 字母须须在URL重须程中遇须

的一须须就是在须须不存在的目须或文件须出须写个404须须。在MSDN上的须遍文件提供的建须就是在程式目须下建立必要的目须目须及空的须面须麻须的是麻须千的目须需要建确数立。然不能便就须须不存在的目须文件那我须不须须须须的目须不就行了。就要须须我须已存在的文件既随 我的全部URL指向都是根目须Blog下的一个Default.aspx 须面然后须须加须控件须生成不同的须须功能须面 然须次要指向的须是须须面当个/Default.aspx下面的任须就是须须然是参数当URL须须了。须就是重他的原因了。写主角又要出须了 正须表式。达在须里用正须表式的是太须了达真https://www.360docs.net/doc/8f14445068.html,/joshualang/Articles/2007/01/18/Default.aspx 目须可能生成如下须须的你会URL重须须 写

/w616/Articles/d4/d2/d2/Default.aspx

/Default.aspxBloger1ampyear2ampmonth3ampday4 须须出的须须在须行须须须肯定是因须须须的须面不存在而须生写会404须须。因须他须着的目须须须一直往下会你要是再建目须工程可就大了再看看下须的代须 找

/w616/Articles/d4/d2/d2/d6/Default.aspx

/Default.aspxBloger1ampyear2ampmonth3ampday4amptime5 须下多出了须须部分须人须须建目须了。那就充分利用已存在的文件完成须任须。没会来个吧其须一须可能有非常多人都能想到用文件名代替目须须。想想看是不是须须。然须须

得须正须表来构当式有一定的了解。达好看看须须。来吧/w516/Articles/d4 /d2 /d2 /d6.aspx

/Default.aspxArticleID2345ampBloger1 大家非常容易看出我须里用到了“ ”须“/”须行了须须而且用在了文件名里须目前的须就是构https://www.360docs.net/doc/8f14445068.html,/joshualang/2007/01/18.aspx非常须然我的ArticleID就是以年月日须分秒须基须的字符串因须须须入据不用考须重须更有意须个插数而在须里用须

须也须须须须方便。2345得到的14位须合就是我的ArticleID.通须须表日期文章须号都能非常容易须出须须。而最后一点好须就在须行须须须表须的特须明须。目前须我须须须须须部分 来/w516/Articles/d4 /d2 /d2.aspx

/Default.aspxArticleID234ampBloger1 依次我须能将URL须须须须须的模式

https://www.360docs.net/doc/8f14445068.html,/joshualang/Articles/2007.aspx甚至https://www.360docs.net/doc/8f14445068.html,/joshualang/Articles/Default.aspx是不是非常须须。但要注意一须须了 什须事不是能须就须须的了须要考须的更有非常多比如 你个会

https://www.360docs.net/doc/8f14445068.html,/joshualang/Articles/2007.aspx和

https://www.360docs.net/doc/8f14445068.html,/joshualang/Articles/2007/.aspx有什须差须做到上须的须须后后者能否正常行 不能运同须

https://www.360docs.net/doc/8f14445068.html,/joshualang/Articles/2007/01/08/.aspx也是不行的。须需要定须其他须须须须须须恰如其的重效果。来

份写好了大致上效果已出了 须里是完整的须须代须 来

/A-Za-zw516/Default.aspx /Default.aspxBloger1

/Articles/d4 /d2 /d2 /d16 /A-Za-zw516.aspx

/Default.aspxArticleID1234ampBloger5

/Articles/d4 /d2 /d2 /d16 /.aspx

/Default.aspxArticleID1234

/Articles/d4 /d2 /d2 /A-Za-zw516.aspx

/Default.aspxArticleID123ampBloger4

/Articles/d4 /d2 /d2 /.aspx /Default.aspxArticleID123

/Articles/d4 /d2 /A-Za-zw516.aspx

/Default.aspxArticleID12ampBloger3 /Articles/d4 /d2 /.aspx /Default.aspxArticleID12 /Articles/d4 /A-Za-zw516.aspx

/Default.aspxArticleID1ampBloger2 /Articles/d4 /.aspx

/Default.aspxArticleID1 /Articles/A-Za-zw516.aspx

/Default.aspxBloger1 /Articles/Default.aspx

/Default.aspxArticleID-1 须明 在须里须了须止用须须须须掉重要的.aspx须展名我用须名作须了文件的须须须名。将虚称最后得到的URL:

https://www.360docs.net/doc/8f14445068.html,/Articles/2007/01/18/015000/joshualang.aspx 同须放在最后的最须须将6位的须须须置须可须须须须就算须了某些字也能最方便的到和须须表须须最接数找近的列表。在去除用须名后也不影到使用须是通须前须周须的须须

格式非常快得到和需要的文章最批配会响会你的列表。如果用须名完好须能通须须须到特定须须段须须作者的文章列表。找须要注意的是 用须名的格式 A-Za-z6-16 和须须须须的须序。须须 通须须须的URL重须程后像须须存在此目须相同具有须密的格式但须得架须更方便更活写会框构灵从而得到功能和用须须上的重点提升体须须到须里。有什须疑须须迎回须加入须须。如果有更好的重方法非常高须能通知下本人。吧写哦

通过 Apache 配置 Rewrite 支持 .htaccess

【转】通过 Apache 配置 Rewrite 支持 .htaccess 2011-03-01 14:16 转载自分享 最终编辑ruhaole 1.首先确定您使用的 Apache 版本,及是否加载了 mod_rewrite 模块。及是否加载了 mod_rewrite 模块 . mod_rewrite 的是一个 Apache 模块,可使服务器操纵请求的网址。根据一系列规则对传入的网址进行检查,规则中包含一个正则表达式来检测特定的格式。如果在地址中发现了一个格式,并且满足适当的条件,该格式就会被一个替代的字符串或者是动作取代。 Apache 1.x 的用户请检查 conf/httpd.conf 中是否存在如下两段代码: 清单 1. Apache 1.x 的加载模块代码 LoadModule rewrite_module libexec/mod_rewrite.so AddModule mod_rewrite.c Apache 2.x 的用户请检查 conf/httpd.conf 中是否存在如下一段代码: 清单 2. Apache 2.x 的加载模块代码 LoadModule rewrite_module modules/mod_rewrite.so 如果存在,那么在配置文件(通常就是 conf/httpd.conf)中加入如下代码。此时请务必注意,如果网站使用通过虚拟主机来定义,请务必加到虚拟主机配置,即 中去,如果加在虚拟主机配置外部将可能无法使用,改好后将 Apache 重启。稍后再解释这段代码的意思 Apache配置: 支持httpd.conf 配置和目录 .htaccess配置 启用rewrite # LoadModule rewrite_module modules/mod_rewrite.so 去除前面的 # LoadModule rewrite_module modules/mod_rewrite.so 启用.htaccess AllowOverride None 修改为:AllowOverride All ----------------------------------------------------------

IIS设置伪静态方法

Windows服务器下用IIS Rewrite组件为IIS设置伪静态方法 1、将下载的IIS Rewrite 组件解压,放到适当的目录(如 C:Rewrite)下,IIS Rewrite 组件下载 https://www.360docs.net/doc/8f14445068.html,/download-isapi_rewrite.htm , IIS Rewrite 简化版组件下载 https://www.360docs.net/doc/8f14445068.html,/soft/71446.htm ,下载下来解压后不用安装拷到目 1、将下载的IIS Rewrite 组件解压,放到适当的目录(如 C:Rewrite)下,IIS Rewrite 组件下载https://www.360docs.net/doc/8f14445068.html,/download-isapi_rewrite.htm,IIS Rewrite 简化版组件下载https://www.360docs.net/doc/8f14445068.html,/soft/71446.htm,下载下来解压后不用安装拷到目录下设置好即可使用。 注:IIS Rewrite简单使用方法介绍:一个功能强大的URL处理引擎,功能和Apache的 mod_Rewrite类似,这个是For IIS版本可以把像list.asp?id=234 这样的链接映射成 list/234.html 这样就有利于在GG中的排名 完全版(Full)与简化版(Lite)的最大的区别在于可以让每个站点自定义URL重写规则(Rewrite Rule),也就是只要将写好的httpd.ini放在站点根目录,就能使用了。 安装说明:下载后可以解压出 ISAPI_Rewrite.dll ,httpd.ini 这两个文件放到某个文件夹下面,然后在 IIS 站点属性的 ISAPI 中加载 ISAPI_Rewrite.dll 就可以了, httpd.ini 是配置文件里面有例子。如果加载不成功的话请给 ISAPI_Rewrite.dll 安全属性为完全。 2、在“IIS管理器”里选择网站,右键,属性。

Asp伪静态的实现及URL重写

Asp伪静态的实现及URL重写 用ISAPI_Rewrite实现asp的静态化 ASP网站程序在国内运用很广,但是类似于im286.asp?id=20050307213811这样的URL有点不利于搜索引擎的收录,也就是说不符合友好URL(URLs-Friendly)的标准,那么我们用ISAPI_Rewrite打造一个Clean URL, 1.下载ISAPI_Rewrite.ISAPI_Rewrite分精简(Lite)和完全(Full)版.精简版不支持对每个虚拟主机站点进行重写,只能进行全局处理.不过对于有服务器的朋友,精简版也就够啦.精简版下载地址:https://www.360docs.net/doc/8f14445068.html,/download/,就是那Lite Version (free)啦. 2.安装.msi的文件,和装一般程序一样装就可以了,俺就装在D:\ISAPI_Rewrite. 3.接下来一步比较重要哦,看仔细喽.打开Internet 信息服务,右键,web站点属性,电ISAPI筛选器选项卡.添加筛选器,名称自己填,路径自己指定ISAPI_Rewrite.dll,然后确定.

4.来测试一下.新建一个1ting.asp,里面写上 <%=request.querystring("inso")%> ,效果就是执行的时候1ting.asp?inso=*浏览器显示*. 5.这一步很重要哦,开始添加rewrite规则.正则,好头痛,幸亏这个例子比较简单.

找到ISAPI_Rewrite目录,把httpd.ini的只读属性去掉,打开编辑.我们要把1ting.asp?inso=im286映射成为 1ting-im286.html这样的类型,需要在httpd.ini里加上这么一行: RewriteRule /1ting-([0-9,a-z]*).html /1ting.asp\?inso=$1 ,保存. 6.来来来,到浏览器里查看一下效果吧.输入http://12 7.0.0.1/1ting.asp?inso=im286和 http://127.0.0.1/1ting-im286.html,显示的内容是不是都是im286?这就证明成功啦! 嘿嘿,1ting-im286.html这样的页面要比1ting.asp?inso=im286容易收入,所以现在还在用动态方式的朋友可以尝试一下这样的静态映射效果. IIS Rewrite也可以实现这样的功能。 ------------------------------------------------------ ASP之URL重写 下载ISAPI_Rewrite解压到任意文件夹安装,给IIS用户读取权限,在IIS右键点击一个站点,属性,ISAPI筛选器,添加,筛选器名称一定得叫 re,可执行文件就点浏览找到你解压的目录Rewrite.dll加上即可。

伪静态 Url重写 IIS配置的问题

我是一个技术菜鸟能写一些技术不是很高的问题或是自己在实际中遇到的问题。 URL重写有几种方法但是我自己值简单的了解了其中的两种方法 一种是:在Global.asax在虚拟的主机上一般我们调试就是用的虚拟主机例如 protected void Application_BeginRequest(object sender, EventArgs e)//伪静态 url重写 { // HttpContext.Current.RewritePath("ViewNews.aspx"); Regex reg = new Regex(@".+View-(\d+).aspx"); var match=reg.Match(HttpContext.Current.Request.Url.AbsolutePath); if(match.Success) { string id = match.Groups[1].Value; HttpContext.Current.RewritePath("ViewNews.aspx?id="+ id); } } 另一种是大家多比较常用的就是引入第三方插件URLRewriter.dll 然后在修改web.Config配置文件 首先下载URLRewriter.dll 这个插件添加到你文件夹中指定的目录或者是bin文件夹中或者是其他的目录 修改配置文件首先 在 节点中添加

然后在导如你想要写的规则 例如: 这个节点的意思是地址栏收到(LookFor)符合这样

iis7.5 URL重写“零”接触

首先说的是IIS7.5,win7或者win2008都支持,然后要下载一个微软的组件:Url重写组件,这里发个64位的组件,如果你的系统是32位的可以网上找下,很多的。 64位URL重写组件:https://www.360docs.net/doc/8f14445068.html,/share/link?shareid=149304&uk=991867769 安装好后,打开你的IIS就会有如图所示的图标: URL重写 然后打开你要设置的网站,右侧就会有如图所示: url重写 这里学习吧提供几种方案: 1,URL域名规模化; 比如你想让你的的https://www.360docs.net/doc/8f14445068.html,一访问就访问到www。xx。com上,这样对用户和搜索都好的,也不会让百度重复收录你的网站。 点击右击的“添加规则”,然后选择规范域名 然后在出现的窗口里选择你的域名,有人说为什么我这没有多个域名呢?那是因为你没有绑定多个域名! URL重写 点击确认即可,学习吧说明:iis7.5都是操作的web.config里的代码来达到各种设置的!设置域名规范化必须你的主域名和要转向的域名都解析到你的服务器上,并且成功把域名绑定到站点上才能生效! 2,伪静态 在IIS6.0在时代都是设置的httd.ini,而在iis7.5里得设置web.config了。 如果你有.htaccess现成文件,那么可以通过导入规则直接使用! 点击右侧的“入站规则”里的“导入规则”,然后出现如图: URL重写 配置文件里选择你要导入的文件路径,选择后点击导入按钮,如果你的文件格式正确那么就

会成功导入规则!直接应用即可! 如果没有配置文件,那么自己就动手写下吧. 点击右侧“添加规则”,然后选择“空白规则”,出现添加规则窗口: 名称自己起个就行,然后“匹配URL”里基本可以默认,只需要自己填写上“模式”即可,这里是正则表达式,比如:^(\w+)_xieliang_(\d+)$ 这其中的^是开始,$表示结束,(\w+)表示字母,数字任意,(\d+)表示只能为数字,(.*)为所有,更多正则请看:正则表达式 然后下面的重写URL写成动态的URL,并且要带参数,比如show.asp?url={R:1}&id={R:2}其中的{R:1}就是正则里的前面的变量,一共有几个参数要与正则里对应! URL重写 3,防盗链 防盗链的原理是根据来路判断是否为自己的域名,如果不是则终止 步骤和伪静态一样,只是正则为^(.*)\.(gif|jpg)$这个是所有的gif jpg后缀的,根据自己的情况设置 添加几个条件,因为要判断来路 URL重写 其中第一个条件是为了查看是否为自己的来路 第二个为判断是否有来路,如果直接打开的就没有来路,如果想让用户直接打开不能用,只有从自己网站打开才可以的话要加上这个,如果不用可以去掉! 在最下面操作里的重写URL填上如果拦截要显示的图片路径即可。 学习吧提示:也可以根据防盗链自己写个防下载的哦,只是后缀不一样罢了。 URL重写

重写url必须掌握正须表式

重写url必须掌握正须表式 正须表式是一须可以用于模式匹配和替须的强有力的工具。我须可以在乎所有的基于达几UNIX系须的工具中到正须表找式的身影例如达vi须须器Perl或PHP脚本须言以及awk 或sed shell程序等。此外象JavaScript须须客须端的脚本须言也提供了须正须表式的支持。由此可须正须表式已须超出了某须须言或某系须的局限成须人须须接受的念和功能。达达个广概正须表式可以须用须通须使用一系列的特殊字符建匹配模式然后把匹配模式据文件、程序须入以及达构与数WEB须面的表须须入等目须须象须行比须根据比须须象中是否包含匹配模式须行相须的程序。须例须正须表式的一最须普遍的须用就是用于须须用须在须须入的须件地址的格式是否正。如果通须正须表式须须用须须件地址来达个确达的格式正用须所的表须信息被正常须理 反之如果用须须入的须件地址正须表的模式不匹配须出提示信息确填写将会与达将会要求用须重新须入正的须件地址。由此可须正须表式在确达WEB须用的须须判中具有须足须重的作用。断基本须法在须正须表式的功能和作用有了初步的了解之后我须就具看一下正须表式的须法格式。达来体达正须表式的形式一般如下 达/love/ 其中位于“/”定界符之须的部分就是要在目须须象中须行匹配的模式。用须只要把希望须匹配须象的模式容放入“将找内

/”定界符之须可。须了能须使用须更加活的定制模式容正须表式提供了须须的“元字符”。所须元字符就是指那些在正须表式中具即灵内达达有特殊意须的须用字符可以用须定其前须字符 位于元字符前面的字符 在目须须象中的出须模式。来即须须常用的元字符包括 “” “”以及“”。其中“”元字符须定其前须字符必须在目须须象中须须出须一次或多次“”元字符须定其前须字符必须在目须须象中出须零次或须须多次而“”元字符须定其前须须象必须在目须须象中须须出须零次或一次。下面就须我须看一下正须表式元字符的具须用。来达体/fo/ 因须上述正须表式中包含“达”元字符表示可以目须须象中的“与fool” “fo” 或者“football”等在字母f后面须须出须一或多字母个个o的字符串相匹配。/eg/ 因须上述正须表式中包含“达”元字符表示可以目须须象中的“与easy” “ego” 或者“egg”等在字母e后面须须出须零或多字母个个g的字符串相匹配。/Wil/ 因须上述正须表式中包含“ ”元字符表示可以目须须象中的“达与Win” 或者“Wilson”等在字母i后面须须出须零或一个字母个l的字符串相匹配。除了元字符之外用须须可以精指定模式在匹配须象中出须的须率。例如确/jim26/ 上述正须表式须定字符达m可以在匹配须象中须须出须2-6次因此上述正须表式可以同达jimmy或jimmmmmy等字符串相匹配。在须如何使用正须表式

IIS的ISAPI服务器扩展URL REWRITE(URL重写)

URL REWRITE,我的翻译是URL重写,或者URL重定义。在asp+iis的网站开发模式中,可以实现如将https://www.360docs.net/doc/8f14445068.html,/news.asp?id=220 变成https://www.360docs.net/doc/8f14445068.html,/220.html 的形式。例如某条新闻的实际网址是https://www.360docs.net/doc/8f14445068.html,/news.asp?id=220 ,通过URL重写之后,我们就可以直接输入https://www.360docs.net/doc/8f14445068.html,/220.html 的网址,来访问该条新闻。 对于iis服务器,要实现此项功能,需从https://www.360docs.net/doc/8f14445068.html,/download/ 网站上,下载Lite Version (free)免费版的软件,将此软件安装于服务器之后,在其安装目录上,找到配置文件httpd.ini,用记事本打开,输入相应的规则。然后,在相应的站点上,ISAPI中,添加此组件。OK,配置完成,功能生效。 2、URL_REWRITE的规则写法参考: 当我需要将将news.asp?id=234的映射成news/234.html时,只需设置: 这样就把/news/234.html 这样的请求映射成了/news.asp?id=234 当有对/news/234.html的请求时:web服务器会把实际请求转发给/news.asp?id=234 比对于某一个简单应用可以是: 这样就把https://www.360docs.net/doc/8f14445068.html,/news/234.html 映射到了http://www.xxxxxx.co m/news/news.php?id=234 一个更通用的能够将所有的动态页面进行参数映射的表达式是: 把https://www.360docs.net/doc/8f14445068.html,/foo.php?a=A&b=B&c=C 表现成https://www.360docs.net/doc/8f14445068.html,/foo.php/a/A/b/B/c/C

php(实现url重写)

在做项目时,有没有发现一个很不好的问题。如:你得访问地址为:http://localhost/test/index.php?id=1这样,是不是觉得这个链接不好,而且一眼就会被别人看出来你这个网站是用什么技术实现的,而且也不是很安全呢。是不是觉得https://www.360docs.net/doc/8f14445068.html,/aa/1/1这样的访问地址很清晰并且很眼馋嘛?下来就给大家看看如何实现吧。 配置方面: 1.找到apache的安装目录下的conf下的httpd.conf文件,打开文件修改 LoadModule rewrite_module modules/mod_rewrite.so这行代码,他前面有个#号,把#号删掉 2.还是那个文件,打开,找到 Options FollowSymLinks ExecCGI Indexes AllowOverride None Order deny,allow Deny from all Satisfy all 这个节点,把None改为All. 3.重启apache服务 4.最关键的一点,在你得项目目录下创建.htaccess文件,文件没有名称,看上去只是后缀名 具体创建方法不能直接创建,先创建个txt文件(其他的也行),然后另存问,把名字改为.htaccess,并且选所有文件,创建好后,就要制定规则了。 在文件里写代码: RewriteEngine on //on为打开,off为关闭 RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$ index.php?action=$1&id=$2 ([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,如此类推!! 5.创建一个php文件吧(这个文件当然要创建到你放.htaccess文件的项目中) . 然后你在浏览器地址栏中访问:http://localhost/text/a-1.html,这个地址就相当于你访问http://localhost/text/index.php?action=a&id=1这样。是不是觉得这样比较美观呢。 访问后的结果是你的action:a 你的id:1 6.ok了,url重写就搞定了。这只是一个非常简单的例子,大家只要明白了这个例子,相信以大家举一反三的智商,应用到项目中没问题的。

隐藏网页后缀名

前言:为什么转载这篇文章?因为它有思考有实践。最近因为业务的需要,要对Url进行重写,其实也不是重写,也就是像在php中非常容易实现的隐藏.php后缀一样来隐藏.aspx后缀。搜索不少文章,都提到URL重写,但是对于如何隐藏.aspx后缀描述不清。经过不懈搜索搜到这篇文章,按照其步骤,实现了如test.aspx,直接用test访问.我实践后想说的,实现隐藏.aspx,必须要在IIS里配置.*的隐射。而且伴随在IIS中配置了.*的隐射后会带来一系列问题。我目前碰到的有 0、在IIS中配置好.*的隐射后,还必须在handler中配置 否则会出现404错误 1、默认文档无效的问题。比如输入http://192.168.1.1/提示找不到"/",按理应该跳转到默认文档比如index.html。这时我们需要在规则里添加 ~(/?)$ ~/index.html 2、html文件无法打开的问题。这个网上有网友碰到过,解决方法是 附件是我现在实现了无后缀名的web.config文件及使用的urlrewritting的dll,供大家参考。

URL重写

URL 重写 1.什么是URL 重写 session 是依赖于cookie 或URL 重写的,当浏览器端没有禁用Cookie ,那么session 就依赖cookie ,即服务器会将session 的id 值存放在一个名为JSESSIONID 的cookie 中,浏览器再次访问服务器时,会将这个cookie 带给服务器,这样在服务器端就可以根据获得session 的id 值找到对应的session ,进而从session 中获取数据。但是如果浏览器端禁用了cookie ,就会出现如图1-1所示的情况: 浏览器 服务器1.浏览器第一次访问服务器 浏览器端禁用 了cookie 2.在服务器端调用了request.getSession()方法,服务器为本次会话创建一个session 对象,并返回3.服务器响应浏览器,响应信息中包含一个Set- Cookie 响应头:Set-Cookie JSESSIONID=... 4.浏览器第二次访问服务器,由于cookie 禁 用,所以请求信息中没有Cookie 请求头 5,在服务器端调用了request.getSession()方法,由于没有发现名为JSESSIONID 的cookie,所以服务器再次 创建一个新的session,并返 回 6.服务器响应浏览器,响应信息中包含一个Set-Cookie 响 应头:Set-Cookie JSESSIONID=新的sessionid 值… … 图1-1 浏览器禁用cookie 由图1-1可知,如果浏览器端禁用了cookie ,那么浏览器每次访问服务器时,服务器端只要调用了request.getSession()方法,服务器就会创建一个新的session 对象。那么我们就不能再将数据保存在session 中,因为新的session 创建后,之前的session 就无法获取了。 为了解决浏览器禁用cookie 后所带来的问题,我们采用URL 重写。所谓的URL 重写就是将应用中的所有超链接、表单提交路径后面都添加一个特殊的请求参数,参数名为jsessionid ,参数值为session 的id 值。当浏览器访问服务器时,在服务器端调用了request.getSession()方法,这个方法会在没有找到名为JSESSIONID 的cookie 的情况下,去请求参数中查找名为jsessionid 的参数,并获取该参数的值,进而找到对应的session 。 另外,需要注意的是,如果使用URL 重写,那么应用中的所有超链接和表单提交路径都要进行URL 重写,如果有一个超链接或表单路径没有进行URL 重写,那么服务器就会认为没有为当前会话创建session ,从而又为当前会话创建一个新的session ,那么之前的session 就无法获取了。 2.实现URL 重写 通过对URL 重写的了解,下面我们通过一个案例来了解如何实现URL 重写,具体如下: (1)创建一个web 应用,名称为Example25,对该应用下的index.jsp 文件进行编辑,如例1-1所示: 例1-1 index.jsp

Java URL重写

关键字: 其他 URL重写,其实就是把带一大堆参数的url,变成一个看上去很规矩的url,主要目的是为了搜索引擎。 举例 Java代码 1./viewthread.jsp?id=1234 2./viewthread.jsp?id=1235 3./viewthread.jsp?id=1236 重写后,可以用 Java代码 1./viewthread/1234.htm 2./viewthread/1235.htm 3./viewthread/1236.htm 我目前使用Tomcat+Apache,尝试过三种重写的方法 一、Tomcat的过滤器 最典型的就是用urlReweite的类库。如果有经验,自己写也不是很麻烦。也可以用现成的开源的免费的urlrewrite filter. https://www.360docs.net/doc/8f14445068.html,/urlrewrite/下载 修改web.xml增加过滤器,然后配置个过滤的规则就可以了 web.xml修改部分 Java代码 1. 2. UrlRewriteFilter 3. 4. org.tuckey.web.filters.urlrewrite.UrlRewriteFilter 5.

6. 7. 8. UrlRewriteFilter 9. /* 10. 过滤规则 11. 12. 13. 15. 16. 17. /viewthread/(\d+).htm$ 18. /viewthread.jsp?id=$1 19. 20. 二、使用Apache的mod # 去掉这个前面的#,启用它 Java代码 1.LoadModule rewrite_module modules/mod_rewrite.so Java代码 1. # 其它的配置数据 Java代码 1.RewriteEngine On 2.# 下面三行实现动态解析 3.RewriteRule ^/viewthread/(\d+).htm$ /viewthread.jsp?id=$1 [L,PT ] 4.

Url地址重写

Url地址重写 本文章描述了Url的概念,Url地址为什么要重写,Url重写的流程等方面的内容 什么是Url地址重写 (2) 参照文件 (2) 适用范围 (2) 为什么要URL重写 (2) Url地址重写的几种常见方法 (3) 使用HTTP 模块执行URL 重写 (4) Known Issues ............................................................................................................... 错误!未定义书签。Conflict with Visual Studio Add-Ins ......................................................................... 错误!未定义书签。Cryptographic Services ............................................................................................ 错误!未定义书签。Visual Studio Templates .......................................................................................... 错误!未定义书签。Add View Tool and Unicode Characters .................................................................. 错误!未定义书签。

java中的url重写

java中的url重写 在很多情况下,WEB中进行URL重写一般是使用WEB服务器自身提供的组件。开源项目Url Rewrite Filter ,使用Filter来完成这项工作,从而不依赖于WEB服务器组件。 要让他工作起来,首先要在web.xml中声明一个Filter UrlRewriteFilter org.tuckey.web.filters.urlrewrite.UrlRewriteFilter logLevel WARN UrlRewriteFilter /* 然后在WEB-INF目录下新建urlrewrite.xml 在其中进行重写规则的定义,它使用正则表达式来进行规则的定义。 /test.html %{context-path}/page.html /param/(.*) /test.jsp?param=$1 上面是一个简单的测试

伪静态页面

https://www.360docs.net/doc/8f14445068.html,伪静态页面生成方法(续) 大家对伪静态(URL重写)有什么看法? 以.aspx\.asp\.php结尾的页伪静态为以.htm或者.html结尾的页有什么看法,性能会得到提高吗,有什么好处? 那么或者直接生成静态页面又有什么好处,是否推荐在一个网站大量使用呢? 对于腾讯那样的大的门户网站他们的新闻页是生成的静态页呢或者是伪装的? 最佳答案: 运行PHP,https://www.360docs.net/doc/8f14445068.html,,JSP,ColdFusion的网页服务器(如IIS,Apache),大多可以用URL Rewriting来实现隐藏或改变拓展名。大网站,象腾讯,百度(用PHP),都在用URL Rewriting的方法来把拓展名隐藏或改变。好处有几点: 1. 搜索引擎比较喜欢.html,.htm的(与.jsp,.php,.aspx,.cff相比),因为.html, .htm是静态的,更容易让引擎了解你网页的内容。而动态网页的内容是根据用户,来输出不同的内容,不容易让引擎吸收具体H TML内容。 2. 如果不用URL Rewriting将拓展名隐藏或改成.html,那么假如这个网站要换个技术或把动态页面换成静态,则需要寻找所有含有拓展名的连接,把连接所含URL进行拓展名修改(如从JSP换到PHP技术,则要寻找所有含有.jsp的页面,并把所有含.jsp的URL改成.php,费时费力)。URL Rewriting正好避免了这点,因为好的URL是能做到“不变应完变”的。 3. 防止某些黑客恶意攻击。有些大网站采用不同的技术开发不同功能的页面。而把拓展名改掉,让黑客无法确认此页面用的技术是什么,从而就无从下手。 4. 方便访问者使用。访问者不是程序员,他们不明白什么是.jsp,.php.aspx,他们只知道URL。所以统一把拓展名拿掉,或者同意把拓展名换为html,htm,有利于用户的使用。用户可以知道现在在你网站的位置,如何通过输入URL到某一页面。 实例: Intelligencia.UrlRewriter.dll aspx重写为html实例 1、https://www.360docs.net/doc/8f14445068.html,/ 下载解压缩后把Intelligencia.UrlRewriter.dll 文件添加引用到web工程里。 2.web.conf ig配置:

电子科大16秋《基于J2EE的开发技术》在线作业3

电子科技大学电子科大16秋《基于J2EE的开发技术》在线作业3 一、单选题(共20 道试题,共100 分。) 1. 以下关于JavaBeans的说法中,错误的是。 A. JavaBeans是基于JA V A语言的。 B. JavaBeans是JSP的内置对象之一。 C. JavaBeans是一种Java类。 D. JavaBeans是一个可重复使用的软件组件。 正确答案: 2. Servlet程序的入口点是:。 A. init() B. main() C. service() D. doGet() 正确答案: 3. 下面哪一个是正确使用JavaBean的方式? A. B. C. D. 正确答案: 4. 下面哪个jsp隐含对象可以实现多次请求共享(选择两个答案) A. page B. request C. get D. applicatio 正确答案: 5. 假设在helloapp应用中有一个Javabean文件Hello,它位于com.bean包下,那么这个bean 的class文件应该放在什么目录下 A. helloapp/ B. helloapp/WEB-INF/ C. helloapp/WEB-INF/classes/ D. helloapp/WEB-INF/classes/com/bean/ 正确答案: 6. 对于“<%!”和“%>”之间声明的变量,以下说法正确的是: A. 不是JSP页面的成员变量 B. 多个用户同时访问该页面时,任何一个用户对这些变量的操作,都会影响到其他用户 C. 多个用户同时访问该页面时,每个用户对这些变量的操作都是互相独立的,不会互相影

ThinkPHP中配置伪静态(URL重写)规则

ThinkPHP中配置伪静态(URL重写)规则 什么是伪静态?简单说就是将动态的url变成静态的url 显示,就叫做伪静态。“伪”就是假的,不是真的静态url,是通过技术手段实现的。用户只要开通无忧php虚拟空间就支持url重写功能,无需其它任何设置,我们使用伪静态的好处,就是可以优化网络引擎,提高网站权重。将网站静态化处理,是网站seo优化非常重要的一个工作。Thinkphp也可以通过技术手段,实现伪静态处理。 满足thinkphp伪静态(url重写)条件: 1、服务器开启url_rewrite功能,linux空间的php虚拟主机只需要开启apache的mod_rewriet,如果是iis6.0就要安装ISAPI Rewrite模块,apache只要开启Mod_rewrite功能就可以了。无忧主机是linux系统的空间,开通空间默认支持。 2、Linux空间编辑.htaccess文件,windows空间编辑httpd.ini 文件。 thinkphp如何编写.htaccess文件? 无忧主机(https://www.360docs.net/doc/8f14445068.html,)编写的thinkphp伪静态正则表达式.htaccess文件如下: RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] 请将上面正则表达式,保存为.htaccesss文件,并放到thinkphp 项目入口文件同级目录下。并且修改数据库配置(config.php)文件使网站支持url重写功能,加入代码: define(‘URL_REWRITE’,2);

伪静态URL重写的方法

伪静态URL重写 伪静态URL重写实际就是以静态地址(如:http://127.0.0.1:8080/pro/index.html)访问地态网页的方法(如:http://127.0.0.1:8080/pro/index.jsp)。 伪静态URL重写是通过微软公司封装好了的一个URL重写组件(UrlReswriter.jar)来实现的,导入JAR包,在WEB服务中加载伪静态地址拦截器,客户端以静态地址向服务器发起请求,服务器端的拦截器拦截客户端请求,查找XML配置文件,把静态的URL地址转换成动态地址,发起请求。 下面是具体的实现步骤(这里以struts2框架为例): 1、新建工程,导入struts2框架所需的JAR,导入UrlReswriter.jar 2、新建URL地址转换文件,文件名不定,只需在项目中的web.xml文件加载就行。如下: urlrewrite.xml ^/index.html /index.jsp 3、在web.xml文件中加载struts2配置和伪静态URL重写配置: 加载URL地址转换配置文件 con /WEB-INF/urlrewrite.xml 加载URL地址转换拦截器 UrlRewriteFilter org.tuckey.web.filters.urlrewrite.UrlRewriteFilter logLevel debug

JAVA实现强大的URL规则重写地址方式

这个URL规则方式重写URL地址是才用正则表达式的方式来做的!只要通过设置规则参数和url规则,如: {channel}/{type}/{date}/{id}.html 这样我们就可以通过我开发这个工具来进行重写地址了, 如果你以前用的是 p=index&type=template&date=20130405&id=1 通过编码可以得到: /index/template/20130405/1.html 当然也可以通过解码得到真正的URL地址,使用此工具类,Java的网站,URL地址的SEO优化变得so Easy 写一个Filter,是不是就可以了,好简单! 实现的代码如下: 01 package com.wuwei.test; 02 03 import org.marker.web.url.Parameter; 04 import org.marker.web.url.URLRewrite; 05 /** 06 * 测试URL规则 07 * @author marker 08 * */ 09 public class Test { 10 11 public static void main(String[] args) { 12 URLRewrite re = new URLRewrite(); //设置规则参数 16 re.ruleParameter.put("{channel}", new Parameter("p","{channel}","([a-zA-Z_0-9]+)")); 17 re.ruleParameter.put("{type}", new Parameter("type","{type}","([a-zA-Z_0-9]+)")); 18 re.ruleParameter.put("{id}", new Parameter("id","{id}","([0-9]+)")); 19 20

Apache的URL重写规则的标志详细说明

Apache的URL重写规则的标志详细说明 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=V AR:V AL(set environment variable) 设置环境变量 Rewrite规则表达式的说明: . 匹配任何单字符wFlv i =n/ [chars] 匹配字符串:chars[o c~iDx%W [^chars] 不匹配字符串:charsLc

相关主题
相关文档
最新文档