apache mod_rewrite重写模块开启方法

发布时间:2020-02-21编辑:脚本学堂
本文介绍了如何开启apache mod_rewrite模块的方法,mod_rewrite用于url重写、伪静态等,有需要的朋友参考下。

本节内容:
apache/ target=_blank class=infotextkey>apache服务器中,启用mod_rewrite模块。

操作步骤:
1,在conf目录的httpd.conf文件中找到
loadmodule rewrite_module modules/mod_rewrite.so
将这一行前面的#去掉。
2,在要支持url rewirte的目录启用 options followsymlinks和allowoverride all
 

复制代码 代码示例:
alias /php "c:/web/php/"
<directory "c:/web/php/">
options indexes followsymlinks
allowoverride all
order allow,deny
allow from all
</directory>

这样通过http://localhost:8080/php/访问时,/php/和其下面的子目录将支持url rewrite。

很多文章并没有提到要使用 options followsymlinks,因为在httpd.conf中有
 

复制代码 代码示例:
<directory />
options followsymlinks
allowoverride none
order deny,allow
deny from all
satisfy all
</directory>

这样如果网站配置成通过http://localhost:8080/来访问,就不会注意到options followsymlinks的影响,只需要将allowoverride none改为allowoverride all即可。
而我习惯于在本机配置成http://localhost:8080/php/,忘了加options indexes followsymlinks就成功不了,会显示
forbidden
you don't have permission to access /php/f2blog/ on this server.
这样的错误。

在apache文档中找到了原因:
note: to enable the rewriting engine for per-directory configuration files you need to set ``rewriteengine on'' in these files and ``options followsymlinks'' must be enabled. if your administrator has disabled override of followsymlinks for a user's directory, then you cannot use the rewriting engine. this restriction is needed for security reasons.
实际上mod_rewrite是针对目录的,因此并不需要将httpd.conf中的所有allowoverride none改为allowoverride all,options也一样。

备注:tomcat5.0.28的文档我几乎都看了,也没有看到说到底能不能通过service.bat在windows上安装成功服务。
倒是看到n多人和我一样的疑问却没有答案。
不过,通过tomcatxx.exe能安装成功tomcat服务。