Apache中URL的Rewrite
现在讲究面向搜索引擎的开发。当我们使用jsp时,搜索引擎的收藏效果不是很好,所以我们可以转义这样的URL。比如:我们可以借助rewrite使用/blog/user/0.html来访问/blog/user/blog_show.jsp?userid=0使搜索引擎更容易搜集到我们的网站信息。具体配置很简单,介绍如下
首先:还是打开%Apache2%\conf文件夹,找到http.conf文件,搜索rewrite找到#LoadModule rewrite_module modules/mod_rewrite.so,将它前面的#去掉。
然后在你要使用的VirtualHost中加入
RewriteEngine on
#打开rewrite引擎
RewriteLog logs/rewrite.log
#rewrite日志,可选配置,建议使用
RewriteLogLevel 3
#rewrite日志等级,默认为0不记录,所以只要使用日志,就要配置,3就全记录了,可以更大但没有什么意义。
RewriteRule /blog/user/(.+)\.html$ /blog/user/blog_show.jsp?userid=$1 [PT ]
#转义的规则,使用正则表达式(我也不熟,自己去研究吧),我上面的例子是将/blog/user/*.html的URL转义成/blog/user.blog_show.jsp?userid=*。
注意后面的 PT 这是保证你这样转义之后Apache能将它转给Tomcat否则Apache会自己处理这个链接,造成什么也得不到。
注意 PT ,[R]的区别,使用 PT 在客户地址栏的显示还是*.html,如果将 PT 换成[R]则地址栏也会显示成.jsp
作者:jock
Tags: apache, 配置
<Directory "/apache/htdocs">
Options Indexes FollowSymLinks MultiViews ExecCGI
把Indexes去掉
改成Options FollowSymLinks MultiViews ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>
作者:堕落天使
Tags: apache, 配置
我们建立的是tes1.jsp.com test2.jsp.com 两个虚拟主机
vi /usr/java/httpd2/conf/httpd.conf
复制如下内容到httpd.conf里
NameVirtualHost 192.168.0.1 虚拟主机建立所在的IP
<VirtualHost 199.199.0.1>
DocumentRoot /home/jsp1/ 文件所在目录
ServerName tes1.jsp.com 访问的域名
</VirtualHost>
VirtualHost 192.168.0.1>
DocumentRoot /home/jsp2/
ServerName test2.jsp.com
</VirtualHost>
vi /usr/java/resin/conf/resin.conf
查找如下代码并修改:
<host id="" root-directory=".">
<!–
– configures an explicit root web-app matching the
– webapp's ROOT
–>
<web-app id='/' document-directory="/usr/java/httpd2/htdocs"/>
</host>
<host id='tes1.jsp.com'>
<web-app id='/' document-directory="/home/jsp1"/>
</host>
<host id='tes2.jsp.com'>
<web-app id='/' document-directory="/home/jsp2"/>
</host>
保存从启apache和resin
tes1.jsp.com 和tes2.jsp.com 虚拟主机可以运行了
可以做如下测试http://localhost/caucho-status/
可以看到测试面上有
Virtual Host: tes1.jsp.com:80
Virtual Host: tes2.jsp.com:80
证明JSP虚拟主机工作很正常
作者:jock
Tags: apache, resin, 配置
最近老上不去apache的网站,这里有个镜像可以下载需要的东西。
http://mirror.mirimar.net/apache/
作者:jock
Tags: apache
近期评论