1-1.urlrewrite作用:
一:提高安全性,可以有效的避免一些参数名、ID等完全暴露在用户面前,如果用户随便乱输的话,不符合规则的话直接会返回个404或错误页面,这比直接返回500或一大堆服务器错误信息要好的多
二:美化URL,去除了那些比如*.do之类的后缀名、长长的参数串等,可以自己组织精简更能反映访问模块内容的URL
三:更有利于搜索引擎的收入,通过对URL的一些优化,可以使搜索引擎更好的识别与收录网站的信息
1-2.步骤
一.首先导入jar包urlrewrite-3.2.0.jar
二.在web.xml中加入如下配置:
<!-- 动态地址静态化 -->
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>logLevel</param-name>
<param-value>WARN</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
三.把urlrewrite.xml复制到项目的WebRoot/WEB-INF/目录下
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.2//EN"
"http://tuckey.org/res/dtds/urlrewrite3.2.dtd">
<!--
Configuration file for UrlRewriteFilter
http://tuckey.org/urlrewrite/
-->
<urlrewrite>
<rule>
<note>
The rule means that requests to /test/status/ will be redirected to /rewrite-status
the url will be rewritten.
</note>
<from>/test/status/</from>
<to type="redirect">%{context-path}/rewrite-status</to>
</rule>
<outbound-rule>
<note>
The outbound-rule specifies that when response.encodeURL is called (if you are using JSTL c:url)
the url /rewrite-status will be rewritten to /test/status/.
The above rule and this outbound-rule means that end users should never see the
url /rewrite-status only /test/status/ both in thier location bar and in hyperlinks
in your pages.
</note>
<from>/rewrite-status</from>
<to>/test/status/</to>
</outbound-rule>
<!--
INSTALLATION
in your web.xml add...
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>logLevel</param-name>
<param-value>WARN</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
EXAMPLES
Redirect one url
<rule>
<from>/some/old/page.html</from>
<to type="redirect">/very/new/page.html</to>
</rule>
Redirect a directory
<rule>
<from>/some/olddir/(.*)</from>
<to type="redirect">/very/newdir/$1</to>
</rule>
Clean a url
<rule>
<from>/products/([0-9]+)</from>
<to>/products/index.jsp?product_id=$1</to>
</rule>
eg, /products/1234 will be passed on to /products/index.jsp?product_id=1234 without the user noticing.
Browser detection
<rule>
<condition name="user-agent">Mozilla/[1-4]</condition>
<from>/some/page.html</from>
<to>/some/page-for-old-browsers.html</to>
</rule>
eg, will pass the request for /some/page.html on to /some/page-for-old-browsers.html only for older
browsers whose user agent srtings match Mozilla/1, Mozilla/2, Mozilla/3 or Mozilla/4.
Centralised browser detection
<rule>
<condition name="user-agent">Mozilla/[1-4]</condition>
<set type="request" name="browser">moz</set>
</rule>
eg, all requests will be checked against the condition and if matched
request.setAttribute("browser", "moz") will be called.
-->
<!-- 首页 -->
<rule>
<from>/index.html</from>
<to type="forward">/index.do?method=toIndex</to>
</rule>
<!-- 中文.cc域名首页 -->
<rule>
<from>/domain/tld-cncc.html</from>
<to type="forward">/domain/list.do?method=faqShowList&forword=zcncc</to>
</rule>
<!-- 英文info域名首页 -->
<rule>
<from>/domain/tld-info.html</from>
<to type="forward">/domain/list.do?method=faqShowList&forword=eninfo</to>
</rule>
<!-- 新闻中心文章页 -->
<rule>
<from>/gonggao/(.*)/(.*).html</from>
<to type="forward">/helpcenter/news.do?method=view&id=$2</to>
</rule>
</urlrewrite>
备注:
1.实际路径/domain/list.do?method=faqShowList&forword=eninfo中&需要转码&
2.动态传参的配置方法
/gonggao/(.*)/(.*).html
/helpcenter/news.do?method=view&id=$2
分享到:
相关推荐
很多时候我们不希望用户看到我们网站的真实地址,这时可以用rewrite包做url地址重写,让用户看到一些目录或者html地址,从而保护一些重要信息.具体使用方法请参考http://www.geelou.com/article/102.html
动态网站静态化,主要是针对java ee 的动态网站,实现了,url地址的为动态化。urlrewrite
利用静态文件可提高服务器的运行稳定和速度,坏处就是生成列表的时候会因为增加一条记录从而需要所有相关的列表进行重构,当然不排除有的公司已经攻克的这个问题,但对于大众程序员来说,他依旧是个问题,而且生成的...
URL Rewrite最常见的应用是URL伪静态化,是将动态页面显示为静态页面方式的一种技术。比如http://www.123.com/news/index.asp?id=123 使用UrlRewrite转换后可以显示为 http://www.123.com/news/123.html URL Rewrite...
在iis下为php添加rewrite功能 URL-Rewrite是一种URL地址静态化技术,可有效增加搜索引擎的收录。 下面分别介绍记事狗系统在IIS 服务器下的Rewrite设置方法(Apache服务器默认即可支持): 一、路径模式; 1、...
一、注意事项: 1、本功能对服务器环境有特殊要求,独立主机用户需要对 Web 服务器增加相应的 ...发生无法访问的现象时,请您进入管理后台,关闭URL静态化功能,网站即可恢复正常状态。 二、IIS环境的设置 URL 静态化功
首先安装zencart系统后,看你安装的zencart是否已经集成SEO插件,如果有就先卸载掉,直接下来就是安装ZenCart SEO插件ceon url mapping,它可以实现url的目录式静态化。 1、首先去官方下载zencart模块Ceon URI ...
1、将include复制到网站中的include目录。 2、修改数据库 将所有文档设置为“仅动态”,可以进入数据库管理中,执行下面命令: update dede_archives set ismake=-1 并将ismake的默认值设置为 -1即动态。 将所有...
我现在这个业余码农以前由于管理系统做多了从来也不考虑静态化的问题,但是现在要负责一批商业网站的seo事务,伪静态就成了工作重点。 以前没有系统的研究过伪静态,这次用了几天时间好好的研究了一下,中间也走...
高级伪静态需服务器支持ISAPI Rewrite,地址重写才可以使用。 程序特点: ·占用空间小,建站成本低,无需等待,马上就可以拥有海量网站数据; ·免更新免维护,管理方便,操作简单,实现全站后台管理的...
· 在设计上自身预先做了搜索引擎优化,增强对搜索引擎的友好性 · 完全生成全站静态页面,可自定义路径结构,无需urlrewrite · 轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单...
高级伪静态需服务器支持ISAPI Rewrite,地址重写才可以使用。 程序特点: ·占用空间小,建站成本低,无需等待,马上就可以拥有海量网站数据; ·免更新免维护,管理方便,操作简单,实现全站后台管理的全...
4、出现提示 URL Rewrite 这个是伪静态问题 5、写入伪静态,在网站设置伪静态,伪静态当前中的空白处粘贴以下伪静态规则。 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f ...
· 完全生成全站静态页面,可自定义路径结构,无需urlrewrite · 轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登录 JEECMSv5新增完善功能列表: 1、批量移动文章 2、...
· 完全生成全站静态页面,可自定义路径结构,无需urlrewrite · 轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登录 jeecms页面展示: 相关阅读 同类推荐:CMS系统
9.增加基于URLRewrite组件的伪静态页面访问功能; 10.增加管理后台的“版权申明”; 11.增加管理后台的“模板管理”功能; 12.取消后台管理中分页功能所采用的第三方分页控件(AspNetPaper),改为自主方法; 13.对...
iCMS 是一个采用 PHP 和 MySQL 数据库构建...增加伪静态模式生成伪静态规则 增加rewrite.php文件 增加模板文件 forum.bloglist.htm 更换默认模版样式 增强代码清理功能 iCMS:list TAG模式增加 [ indexId!= ] 方法
支持网址重写(URL rewrite)技术,可将网站所有地址全部静态化 自动生成网站 SiteMap ,方便搜索引擎检索 13、全面的系统维护、监控功能 更新日志:记录管理员每一个操作细节 错误查看:拦截并记录每一...