<!-- [if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:PunctuationKerning/>
<w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing>
<w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
<w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:Compatibility>
<w:SpaceForUL/>
<w:BalanceSingleByteDoubleByteWidth/>
<w:DoNotLeaveBackslashAlone/>
<w:ULTrailSpace/>
<w:DoNotExpandShiftReturn/>
<w:AdjustLineHeightInTable/>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:UseFELayout/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]--><!-- [if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" LatentStyleCount="156">
</w:LatentStyles>
</xml><![endif]-->
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"\@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:宋体;
mso-font-kerning:1.0pt;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:595.3pt 841.9pt;
margin:2.0cm 2.0cm 2.0cm 2.0cm;
mso-header-margin:42.55pt;
mso-footer-margin:49.6pt;
mso-paper-source:0;
layout-grid:15.6pt;}
div.Section1
{page:Section1;}
-->
<!-- [if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
</style>
<![endif]-->
1
安装
tomcat/apache
2
下载
jk.so,
具体版本请根据需要,不再多说
3
关键是配置
httpd.conf
#
去掉这个前面的
#,
启用它
LoadModule rewrite_module
modules/mod_rewrite.so
#
启用
jk,
同时配置参数
LoadModule
jk_module
modules/mod_jk.so
JkWorkersFile
D:/Apache2.2/conf/workers.properties
JkLogFile
d:/Apache2.2/logs/mod_jk.log
JkLogLevel
info
#JkLogLevel
debug
JkLogStampFormat
"[%a
%b
%d
%H:%M:%S
%Y]
"
JkOptions
+ForwardKeySize
+ForwardURICompat
-ForwardDirectories
JkRequestLogFormat
"%w
%V
%T"
JkMount
/servlet/*
myloadbalancer
JkMount
/*.jsp
myloadbalancer
#
虚拟主机,这里模拟了
a.test.com
和
b.test.com
以及
a.tst.com/blog
的调用
<VirtualHost _default_:80>
ServerAdmin yourmail@domain.com
DocumentRoot D:\Apache2.2\htdocs
ServerName all-sites
ErrorLog logs/all-sites-error.log
CustomLog logs/all-sites-access.log common
RewriteEngine On
#
下面三行实现动态解析
RewriteCond %{HTTP_HOST}
^[a-z0-9\-]+\.test\.com$
RewriteRule ^/(.*)$ /%{HTTP_HOST}/$1
RewriteRule ^/([a-z0-9\-]+)\.test\.com/?$
/index.jsp?u=$1 [L,PT]
RewriteRule
^/([a-z0-9\-]+)\.test\.com/blog(/(.*))?$ /blog.jsp?u=$1&$3 [L,PT]
<Directory
"D:\Apache2.2\htdocs">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
workers.properties
worker.list=myloadbalancer
worker.tomcat1.type=ajp13
worker.tomcat1.host=localhost
worker.tomcat1.port=8009
worker.tomcat1.lbfactor=1
worker.myloadbalancer.type=lb
worker.myloadbalancer.balance_workers=tomcat1
worker.status.type=status
server.xml
去掉前后的
<!--
和
-->
启用
8009
端口
<Connector port="8009"
...
说明一下
在
httpd.conf
里面启用了
rewrite_module,
和
mod_jk,
并配置了
与
tomcat
的连接配置。
虚拟主机的配置是关键
ServerName all-sites
可以修改为
ServerName test.com
ServerAlias *.test.com
这样可以明确指定这个虚拟主机负责的域名
urlRewrite
配置部分
*
RewriteCond %{HTTP_HOST} ^[a-z0-9\-]+\.test\.com$
*
RewriteRule ^/(.*)$ /%{HTTP_HOST}/$1
*
RewriteRule ^/([a-z0-9\-]+)\.test\.com/?$ /index.jsp?u=$1 [L,PT]
*
RewriteRule ^/([a-z0-9\-]+)\.test\.com/blog(/(.*))?$ /blog.jsp?u=$1&$3
[L,PT]
第一行,声明这个重写只对主机名
(%{HTTP_HOST})
类似
XXXX.test.com
感兴趣,那个是正则的
第二行,将所有的对此域名的请求进行第一次改写,比如
a.test.com
改成
/a.test.com
把
b.test.com/blog
改成
/b.test/com/blog
第三行,对无参数的访问进行调整
将
/a.test.com
改成
/index.jsp?u=a
第四行,对有参数路径的进行调整
将
/b.test.com/blog
改成
/blog.jsp?u=b
如果还有参数比如
b.test.com/id=3
则最终改写为
/b.test.com/id=3
/blog.jsp?u=b&id=3
剩下的就不多说了!
分享到:
相关推荐
1. **SEO优化**:搜索引擎更容易抓取和理解静态化的URL,因为它们通常包含关键词,而动态URL则可能包含数据库参数,对搜索引擎不友好。 2. **用户体验**:静态化的URL更易于用户记忆和分享,看起来更专业,提高用户...
- SEO优化:静态化的URL更易于被搜索引擎抓取,有利于提升网站在搜索结果中的排名。 - 用户体验:友好、简洁的URL有助于用户理解页面内容,增加点击意愿。 - 可维护性:伪静态URL可以方便地进行页面重定向和管理...
- **URL美化**:将复杂的动态URL转换为简洁的静态化形式,提升用户体验。 - **SEO优化**:通过创建有意义的、结构化的URL,提高搜索引擎的抓取效率和排名。 - **隐藏真实路径**:保护应用程序内部结构,避免暴露...
静态化分页的实现通常结合地址重写,使分页链接看起来像是独立的HTML页面。 5. **URL加密**:URL加密可以增加网站的安全性,防止参数被轻易篡改或被第三方拦截。ASP.NET提供了一些内置的加密服务,如HttpUtility....
ASP.NET伪静态页面的实现是Web开发中一种优化网站SEO...总之,`URLRewriter.dll`在ASP.NET环境中提供了一个强大且灵活的工具,用于实现URL伪静态化。通过适当的配置和编程,你可以有效地提升网站的SEO性能和用户体验。
**URLRewriter:实现网站伪静态的关键技术** 在IT行业中,URLRewriter是一个常见的工具或框架,用于将动态URL转换为静态或者看似静态的URL,这个过程被称为“伪静态”。伪静态技术对于SEO(搜索引擎优化)和用户...
2. **用户体验**:静态化的URL看起来更整洁,更容易理解,用户更愿意分享和记住这样的链接。 3. **安全考虑**:隐藏实际的动态脚本路径,可以减少被攻击的可能性。 要使用UrlRewriter.dll,你需要在Web.config文件...
1. **SEO优化**:通过创建具有描述性的、静态化的URL,提升搜索引擎的抓取效率和关键词排名。 2. **隐藏技术细节**:避免用户看到与技术实现相关的URL,如动态参数,提高网站的专业形象。 3. **重定向**:可以设定...
通过使用URLRewrite组件,开发者可以将复杂的动态URL转换为静态化、易于理解的形式,从而提升用户体验。 **工作原理** URLRewriter组件基于HTTP模块机制,它监听所有的HTTP请求,并根据预定义的规则对请求的URL...
- SEO优化:搜索引擎更喜欢具有描述性、静态化的URL,这有助于提高搜索排名。 - 隐藏技术细节:URL重写可以隐藏实际的ASP.NET页面路径,增加网站安全性。 **注意事项:** - 规则的顺序很重要,因为它们按顺序执行,...
在ASP.NET环境中,实现伪静态通常会涉及到两个关键组件:`ActionlessForm.dll`和`URLRewriter.dll`,这两个动态链接库在给定的压缩包"伪静态相关DLL.rar"中提供。 `ActionlessForm.dll`是一个针对ASP.NET的库,主要...
- 完成上述配置后,需要对网站进行彻底的测试,确保所有链接都能够正常工作,并且伪静态化规则能够按照预期生效。 - 可能还需要根据实际情况调整规则,以适应不同的页面结构和需求。 6. **注意事项**: - 在实际...
这个组件通常是一个中间件或模块,它能够接收用户的请求,然后根据配置规则将请求重写为静态化的URL格式。这可以通过解析URL,查找对应的动态处理程序,并将请求转发给该处理程序来实现。 在提供的文件列表中,...
URL重写是一个SEO(搜索引擎优化)和用户体验提升的重要技术,通过将动态的、参数化的URL转换为静态、可读性更强的形式,使得搜索引擎更容易抓取和理解网站内容,同时也让访客更容易记住和分享网址。URLRewriter.dll...
在互联网开发中,URL重写是一个重要的技术手段,它能够将复杂的动态URL转化为简洁、静态化的形式,从而提升网站的SEO效果和用户体验。本篇文章将深入探讨UrlRewriter Java v2.0 RC1的核心功能、工作原理以及如何在...
总结来说,通过使用ASP.NET和URLRewriter.dll,开发者可以为动态网站赋予静态化的外观,提高用户体验,同时提升搜索引擎的友好性。这个过程涉及到Web.config配置、URL匹配规则的编写,以及可能的重定向策略。在SWeb...
【描述】:UrlRewriter Java v2.0 RC1是一个用于处理HTTP请求的中间件,它可以将复杂的、带有查询参数的URL转换为简洁、静态化的URL形式。这样的URL不仅对用户更易读,同时也更利于搜索引擎爬虫理解页面内容,从而...
通过配置规则,开发者可以控制如何解析和转换URL,例如将动态URL转换为静态看起来的形式,隐藏实际的参数,使得URL更加易于理解和记忆。 这两个组件的结合使用,可以创建出一个功能强大且用户体验良好的Web应用程序...