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
本文属转载文章,并不能保证完全正确,只供学习交流参考,版权归原作者所有。如果您认为有侵犯权利等不和法行为,请联系我们及时改正。http://www.zhuitaiyang.com/html/linux/303.html
linux下apache开启url重写伪静态的rewrite模块的方法(详细说明)
2013-07-31 21:30:07; 来源:网络; 作者:;  评论:0 点击:
Apache 2.x 中URL重写,是通过mod_rewrite.so 来实现的,所以您要查看您的Apache 是否已经被编译进去这个模块了,并且在Apache的配置文...
相关热词搜索:linux apache 开启 url重写 伪静态 rewrite
上一篇:安装phpwind时System error '[parser.WindXmlParser] DOMDocument is not exist.
下一篇:阿里云服务器Linux系统挂载数据盘
频道总排行
- Linux下的Mysql,导入执行sql文件命令
- Linux中将一个文件权限分配给某个用户
- linux下apache开启url重写伪静态的rewrite模块的方法(详细说明)
- -Bash: Unzip: Command Not Found解决方法 安装unzip
- 在linux服务器上lamp环境中怎样安装php的扩展模块(centos系统)
- 启动apache时 httpd:Warning: DocumentRoot [/userhome/soft/] does not exist 解决办法
- 安装phpwind时System error '[parser.WindXmlParser] DOMDocument is not exist.
- ubuntu下如何更改文件权限,解决不能删除惑创建文件等
- CentOS下修改httpd.conf开启gzip压缩传输
- linux Vsftp 为用户指定登录后的限制目录
频道本月排行
最新文章
- Linux Bash严重漏洞修复紧急通知(已全部给出最终修复方案)
- Linux软RAID的技术概要及实现
- Linux网卡IPv4地址配置方法
- linux无法启动mySQL解决办法,MySQL is running but PID file could not be found
- ubuntu怎么安装tar.gz(以flashget为例)
- ubuntu下如何更改文件权限,解决不能删除惑创建文件等
- ubuntu下配置php的lamp开发环境(linux)
- linux Vsftp 为用户指定登录后的限制目录
- 使用apache时gbk编码页面出现乱码的解决办法
- ftp软件连接linux系统服务器的时候有些文件不显示