linux下apache开启url重写的方法(详细说明)

 更新时间:2012年04月17日 22:41:45   作者:  
Apache 2.x 中URL重写,是通过mod_rewrite.so 来实现的,所以您要查看您的Apache 是否已经被编译进去这个模块了,并且在Apache的配置文件httpd.conf 中已经调用了这个模块
Linux开启url重写的方法:

1、打开 apache 里httpd.conf(通常是在/etc/httpd/conf目录里)

2、找到 #LoadModule rewrite_module modules/mod_rewrite.so 去掉前面的#

3、找到 AllowOverride None 改成 AllowOverride All , 有两个全部改掉

注:AllowOverride 的参数设置为ALL,表示整台服务器上都支持URL规则重写。Apache 服务器要读每个网站下目录下的 .htaccess 文件。如果没有这个文件,或者这个文档没有定义任何关于URL重写的规则就不会有任何效果。

重启apache (用命令:service httpd restart)。

Apache开启URL重写功能方法详细篇

1、关于rewrite模块的调用:
Apache 2.x 中URL重写,是通过mod_rewrite.so 来实现的,所以您要查看您的Apache 是否已经被编译进去这个模块了,并且在Apache的配置文件httpd.conf 中已经调用了这个模块。在大多数主流发行版中,Apache 2.x 是把rewrite模块已经编入进去了。比如我用的是Slackware。Apache 2.x的配置文件,放在 /etc/httpd 目录下。

在 httpd.conf 中,我们会发现类似如下的一行,是有关rewrite模块的,模块名是 mod_rewrite.so 。

LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so

LoadModule rewrite_module lib/apache2/modules/mod_rewrite.so 如果前面有#号,您要去掉。对于大多数发行版来说,Apache 2的模块一般是位于如下的两个位置

/usr/lib/apache2/modules


/usr/lib/httpd/modules 如果在httpd中打开调用rewrite_module的设置,查看一下是不是能调用了,要通过 httpd -M的参数来查看;

#/usr/sbin/httpd -M

如果发现有如下一行,说明模块已经能被调用了

rewrite_module (shared)

2、设置DocumentRoot的Directory:


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

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

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

比如我们把DocumentRoot的路径改为了 "/opt/www",那我们也要把Directory做针对性的行为设置也要改成这个路径。

<Directory "/opt/www">

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

3、重启httpd服务器:

在一般情况下,在各个发行版中,都有httpd服务器启动脚本,比如
# /etc/rc.d/rc.httpd restart 注:Slackware Linux

# /etc/init.d/apache2 restart 注:ubuntu、Debian 等;
# /etc/init.d/httpd start 注:Fedora 、Redhat、CentOS

相关文章

  • 详解CentOS7.0安装与配置Tomcat-7

    详解CentOS7.0安装与配置Tomcat-7

    本篇文章主要介绍了CentOS7.0安装与配置Tomcat-7,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • 使用squid搭建http和https的代理服务器设置指南

    使用squid搭建http和https的代理服务器设置指南

    今天小编就为大家分享一篇关于使用squid搭建http和https的代理服务器设置指南,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • vsftpd用户禁止ssh登陆的实现方法

    vsftpd用户禁止ssh登陆的实现方法

    这篇文章主要给大家介绍了关于vsftpd用户禁止ssh登陆的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • centos6搭建gitlab的方法步骤

    centos6搭建gitlab的方法步骤

    这篇文章主要介绍了centos6搭建gitlab的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • vscode远程免密登入Linux服务器的配置方法

    vscode远程免密登入Linux服务器的配置方法

    这篇文章主要介绍了配置vscode远程免密登入Linux服务器的操作方法,主要包括windows端操作和linux服务端操作,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • CentOS环境下安装PHPUnit的方法分析

    CentOS环境下安装PHPUnit的方法分析

    这篇文章主要介绍了CentOS环境下安装PHPUnit的方法,结合实例形式分析了CentOS环境下安装PHPUnit的步骤、相关问题与解决方法,需要的朋友可以参考下
    2018-05-05
  • Linux面试中最常问的10个问题总结

    Linux面试中最常问的10个问题总结

    这篇文章主要给大家汇总介绍了关于Linux面试中最常问的10个问题,文中通过示例代码介绍的非常详细,对大家学习或者使用Linux系统具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-05-05
  • Linux线程退出方式总结(推荐)

    Linux线程退出方式总结(推荐)

    下面小编就为大家带来一篇Linux线程退出方式总结(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • 关于Linux下对于makefile的理解

    关于Linux下对于makefile的理解

    下面小编就为大家带来一篇关于Linux下对于makefile的理解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Linux中各个目录的作用与内容

    Linux中各个目录的作用与内容

    这篇文章介绍了Linux中各个目录的作用与内容,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06

最新评论