开启Apache mod_rewrite模块完全解答

8/31/2015来源:PHP技巧人气:1410

开启Apache mod_rewrite模块完全解答

启用mod_rewrite模块 在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/p

启用mod_rewrite模块在conf目录的httpd.conf文件中找到LoadModule rewrite_module modules/mod_rewrite.so将这一行前面的#去掉。2.在要支持url rewirte的目录启用 Options FollowSymLinks和AllowOverride AllAlias /php "c:/web/php/"<Directory "c:/web/php/">Options Indexes FollowSymLinksAllowOverride AllOrder allow,denyAllow from all</Directory>这样通过http://localhost:8080/php/访问时,/php/和其下面的子目录将支持url rewrite。

后记:php100.com网上的很多文章并没有提到要使用 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就成功不了,会显示ForbiddenYou 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也一样。BTW:看来首先是要看程序提供的文档,但是tomcat5.0.28的文档我几乎都看了,也没有看到说到底能不能通过service.bat在windows上安装成功服务。倒是看到N多人和我一样的疑问却没有答案,嗯,我当然知道通过tomcatxx.exe能安装成功tomcat服务,看来只有这一条路了。