1.关于重写模块的调用:
Apache 2.x中的URL重写是通过mod_rewrite.so实现的,所以你要检查你的Apache是否已经编译到这个模块中,并且这个模块已经在Apache的配置文件httpd.conf中调用过了,在大多数主流发行版中,Apache 2.x都已经编程了重写模块。例如,我使用Slackware。Apache 2.x的配置文件放在/etc/httpd目录中。
在httpd.conf中,我们会发现类似下面的一行,是关于重写模块的。模块名是mod_rewrite.so
load module rewrite _ module lib/httpd/modules/mod _ rewrite . so
或者
LoadModuleRewrite _ ModuleLib/Apache 2/modules/mod _ rewrite .所以如果前面有#的话,就得去掉。对于大多数发行版,Apache 2的模块通常位于以下两个位置
/usr/lib/apache2/modules
或者
/usr/lib/httpd/modules如果在httpd中打开了调用rewrite_module的设置,检查一下是否可以调用。通过httpd -M的参数检查一下;
#/usr/sbin/httpd -M
如果找到下面一行,就可以调用该模块。
重写_模块(共享)
2.设置DocumentRoot的目录:
在Apache 2.x中,我们会看到由DocumentRoot设置的一行。这一行是存储web程序的地方。例如,LinuxSir.Org存储在/opt/www目录中。那么我们必须如下设置DocumentRoot。
文档'/opt/www '然后我们必须为DocumentRoot进行有针对性的行为设置。一般来说,httpd.conf会给出一个默认值。如果要更改DocumentRoot的路径,还应该更改DocumentRoot的目录设置,即
由目录“DocumentRoot”设置的路径
例如,如果我们将DocumentRoot的路径改为'/opt/www '那么我们也必须将目录改为这个路径。
目录'/opt/www '
符号链接后的选项
#AllowOverride None注意:在这一行前面加一个#号,然后加上下面一行,就是AllowOverride ALL。
全部覆盖
订单允许、拒绝
允许所有人
/Directory我们将AllowOverride的参数设置为ALL,表示整个服务器上的所有服务器都支持URL规则重写。Apache服务器读取。每个网站根目录下的htaccess文件。如果没有这个文件,或者这个文档没有定义任何关于URL重写的规则,它将没有任何作用。一般成熟的Web服务器应用套件都支持URL重写,比如drupal和joomla。当我们使用这些程序时,我们会在。安装包中的htaccess。我们配置好Apache之后,只需要在这些程序的后台打开这个功能就可以了。
3.重新启动httpd服务器:
通常,每个发行版中都有httpd服务器启动脚本,例如
# /etc/rc.d/rc.httpd重启注意:Slackware Linux
# /etc/init.d/apache2重启注意:ubuntu、Debian等;
# /etc/init.d/httpd开始注意:Fedora、Redhat、centos