好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Apache Mod_Rewrite实现URL重写的配置方法

前端时间朋友的网站由于在做SEO URL的规划,需要利用Apache的Mod_Rewrite对URL进行重写,实现网站伪静态化。在拿到他们提供的URL规划方案后,我做了测试,大家可以看一下。

   测试环境 :

  Windows xp

  PHP4.3

  Apache2.0.58

   配置步骤 :

   第一步 :找到apache的配置文件httpd.conf(文件在 conf 目录下)

   第二步 :你首先必须得让服务器支持 mod_rewrite ,如果你使用的是虚拟主机,请事先询问你的主机提供商。

  打开httpd.conf,找到

   #LoadModule rewrite_module modules/mod_rewrite.so

  把#去掉

  找到 AllowOverride None 改成 AllowOverride All ,

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

  对于不同的网址,需要在APACHE中增加如下内容

   <Directory [E:/Apache Group/Apache2/htdocs/xxx]>

  /*引号里代表你的web存放目录*/

  /*如果是Linux,只要你定位到你网站目录即可*/     Options FollowSymLinks     AllowOverride None

   </Directory>

   第三步 :重启apache服务器,先按stop再start。

   第四步 :在你需要URL重写的网站目录下放一个.htaccess文件,文件名是.htaccess,Windiws下不能直接建立,你可以用记事本另存为。

   注 :我测试的时候在每个需要伪静态的目录下都存放了对应的.htaccess文件,同时在httpd.conf文件中像第二步那样对相关的目录添加了相应的<Directory>..</Directory>代码。

   第五步 :在.htaccess中通过正则表达式映射需要伪静态的页面。

   URL 正则表达式如下 :

   RewriteEngine on    RewriteRule index.html index.php    RewriteRule (\d+).html$ info\.php\?infoid=$1

   注 : URL规划的方案例子:

  映射为

  www.xxx.cn/info/100.html

  配置结束。

  在Linux下基本上没啥变动,我只修改了相关目录地址,运行正常。

  以上就是我关于利用Apache的mod_rewrite对 URL重写 的具体操作步骤,从而实现了 网站URL伪静态化 。有需要的朋友可以参考,有更好实现办法的也可以给我留言。

查看更多关于Apache Mod_Rewrite实现URL重写的配置方法的详细内容...

  阅读:39次