要想重写URL,必须先安装PCRE这个正则表达式程序,Apache安装是是默认安装这个PCRE模块的,所以能成功安装Apache的话,那就说明已经安装了这个模块。
Apache开启url重写的方法:
(1)打开Apache配置文件httpd.conf(在/xxx/conf目录里)
(2)找到"#LoadModule rewrite_module modules/mod_rewrite.so",去掉前面的"#"。
(3)找到"AllowOverride None"项目,改成"AllowOverride All",一般有2-3个位置,全部都要改掉。
注:"AllowOverride"的参数设置为ALL,表示整台服务器上都支持URL规则重写。Apache服务器会读取每个网站根目录下的".htaccess"文件作为重写规则,如果没有这个文件或者这个文档没有定义任何关于URL重写的规则,就不会有任何效果。
重写URL,其实就是用正则表达式的方式去书写这个转发规则,那必须要有一个文件来存放这些规则,这个文件就叫做".htaccess",这个文件存放于网站的根目录下,而且这个文件是一个隐藏文件,用 "ls"命令是看不到的,必须加上参数"-a"才能看到,"ls -a"。
创建".htaccess"文件。
[root@iZ28lcmnq9qZ /zwweb/temp2.12cc.com]#vim .htaccess
"RewriteRule ([a-zA-Z]{1,})-([0-9]{1,}).html$ index.php?jl=$1&id=$2"
这个规则重写后,浏览器输入网址:http://www.abc.com/apple-8.html,服务器实际处理的网址是:http://www.abc.com/index.php?jl=apple&id=8