最新消息:网站改版咯

win2003配置apache伪静态

php Yovae 1202浏览

测试环境: windows 2003 server apache2.2.16 php5.2.5

怎么在win2003中安装apache并设置伪静态规则,这里就以wordpress系统做为测试对象。要配置apache伪静态规则很简单。

首先需要在配置httpd.conf以启用url rewrite功能:

将#LoadModule rewrite_module modules/mod_rewrite.so前面的注销去掉然后重启apache,在命令行使用httpd -M查看当前模块情况.如有rewrite_module(shared)说明模块已经成功加载.

注:网上许多文章提到了httpd.conf文件中需要有这一行:Addmodule mod_rewrite.c,其实在这里是不需要的,因为apache已经把mod_rewrite.c编译进去了.下面是关于mod_rewrite.c的一点说明:

The AddModule and ClearModuleList directives no longer exist. These directives were used to ensure that modules could be enabled in the correct order. The new Apache 2.0 API allows modules to explicitly specify their ordering, eliminating the need for these directives.

As long as you have mod_rewrite.compiled into Apache you should be ready to roll. Use the LoadModule if you enabled the module as a DSO.

到这里apache url rewrite的模块已经加载了.要想使它生效还需要配置.htaccess文件.

配置目录的allowoverwrite属性:

在Apache 2.x 中,我们会看到 DocumentRoot设置的一行。这行就是存放网页程序的地方。比如存放在 c:/www 目录中,那么我们就要设置 DocumentRoot为如下的:

DocumentRoot "c:/www"

然后我们再还要对 DocumentRoot做针对性的行为设置。在一般的情况下,httpd.conf 会给一个默认的。如果你要改 DocumentRoot的路径,同时也要改针对DocumentRoot的Directory的设置,也就是

<Directory "DocumentRoot中设置的路径">

比如我们把DocumentRoot的路径改为了 “c:/www”,那我们也要把 DocumentRoot做针对性的行为设置也要改成这个路径.

注意不要修改一下default的配置

<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>

 

而是修改这里:

<Directory “c:/www”>
#
# Possible values for the Options directive are “None”, “All”,
# or any combination of:
#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that “MultiViews” must be named *explicitly* — “Options All”
# doesn’t give it to you.
#
# The Options directive is both complicated and important. Please see
http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be “All”, “None”, or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
AllowOverride All

#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all

</Directory>

把AllowOverride 的参数设置为ALL,表示整台服务器上的,都支持URL规则重写。Apache 服务器要读每个网站下的家目录下的 .htaccess 文件。如果没有这个文件,或者这个文档没有定义任何关于URL重写的规则,则不会有任何效果。在一般的情况下,成熟的Web 服务器应用套件,都支持URL重写的,比如drupal和joomla 。当我们用这些程序时,会发现在安装包中有 .htaccess中有这个文件。我们把Apache配置好后,只是需要在这些程序的后台打开此功能就行了.

下面是WordPress安装包中的.htaccess文件

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>

# END WordPress

 

好了,写到这里已经把win2003系统里面配置apache支持伪静态的方法讲了个遍,怎么样?是不是应该马上行动去把你家服务器的规则搞一遍呢?go and do it!

转载请注明:Yovae Studio » win2003配置apache伪静态