伪静态与静态

来源:互联网 发布:知肤泉水光面膜怎么用 编辑:程序博客网 时间:2024/04/29 11:05

1.查看phpstudy 中的扩展rewrite_module有没有打开

Apache下的Rewrite配置主要有两种,

一种是针对整个apache服务器的配置,

此种配置的Rewrite规则是直接在httpd.conf下书写。配置步骤如下: (1)去除httpd.conf文件中"#LoadModule rewrite_module modules/mod_rewrite.so"前面的"#"号; (2)然后再在httpd.conf中书写如下规则: RewriteEngine on #当访问任何以t_开头,以.html结尾的文件时,将$1用与(.*)匹配的字符替换后,访问相应的test.php页面 RewriteRule ^/t_(.*).html$ /test.php?id=$1

另一种是针对apache服务器下的某一目录的配置,

此种配置的Rewrite规则需在此目录下建立一个.htaccess文件来书写。配置步骤如下: (1)去除httpd.conf文件中"#LoadModule rewrite_module modules/mod_rewrite.so"前面的"#"号; (2)修改httpd.conf文件中的(232行)"AllowOverride None"为"AllowOverride all",同时最好将Options也置为"all",否则可能会出问题。 (3)在目录中建立.htaccess文件,并用记事本打开,书写如下规则: RewriteEngine on RewriteRule ^/t_(.*).html$ /test.php?id=$1 RewriteRule 正则(article.php) 目标url(article_list.php);


具体案例如下:

localhost:

在localhost同级下建立一个.htaccess文件

内容:

RewriteEngine onRewriteRule info(.*)_(.*).html /info.php?id=$1&search=$2  


info.php中的内容:

<?php    header("Content-Type: text/html;charset=utf-8");    echo $_GET['id'];    echo "</br>";    echo $_GET['search'];?>   


效果如下:

localhost/info123_456.html(网址)

123

456

在配置域名的情况下如何实现伪静态呢,即在Apache配置中添加几行代码

<VirtualHost  *:80>   documentRoot  "G:\ci"   ServerName    www.ci.com</VirtualHost><Directory "G:\ci">    DirectoryIndex index.php index.html     Options Indexes FollowSymLinks     AllowOverride None       Order allow,deny         Allow from all   </Directory>RewriteEngine onRewriteRule info(.*).html /(文件的目录)info.php?id=$1


1 0
原创粉丝点击