Apache开启并实现伪静态

  • 来源:
  • 更新日期:2018-05-09

摘要:Apache的Mod_Rewrite对URL进行重写,实现网站伪静态化。 配置步骤: 第一步:找到apache的配置文件httpd.conf(文件在conf目录下) 第二步:你首先必须得让服务器支持mod_rewrite,如果你使用的是虚拟主机,请事先询问你的主机提供商。 打开httpd.conf,找到 #LoadModule rewrite_module modul

Apache的Mod_Rewrite对URL进行重写,实现网站伪静态化

002UASMrzy7605pjKJv15&690.jpg

配置步骤

第一步:找到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 “D:/web/www”>

/*引号里代表你的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.webtiro.com/info/info.php?infoid=100

映射为

www.webtiro.com/info/100.html

配置结束。

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

以上就是我关于利用Apache的mod_rewrite对URL重写的具体操作步骤,从而实现了网站URL伪静态化。