apache伪静态

打开apache的配置文件httpd.conf

找到

#LoadModule rewrite_module modules/mod_rewrite.so

把前面#去掉。没有则添加,但必选独占一行,使apache支持 mod_rewrite 模块


找到

<Directory "D:/ApacheServer/web">

    #

    # Possible values for the Options directive are "None", "All",

    # or any combination of:

    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews

    #

    # Note that "MultiViews" must be named *explicitly* --- "Options All"

    # doesn't give it to you.

    #

    # The Options directive is both complicated and important.  Please see

    # http://httpd.apache.org/docs/2.2/mod/core.html#options

    # for more information.

    #

    Options Indexes FollowSymLinks


    #

    # AllowOverride controls what directives may be placed in .htaccess files.

    # It can be "All", "None", or any combination of the keywords:

    #   Options FileInfo AuthConfig Limit

    #

    AllowOverride None


    #

    # Controls who can get stuff from this server.

    #

    Order allow,deny

    Allow from all


</Directory>

AllowOverride None 换成 AllowOverride All 使apache支持 .htaccess 文件


重启apache服务器


在要启用伪静态的 PHP 项目根目录下建立 .htaccess 文件


在 .htaccess 文件中输入内容


<IfModule mod_rewrite.c>

    RewriteEngine on

    RewriteRule index.html$ index.php

    RewriteRule index-([1-9]+[0-9]*).html$ index.php?p=$1

    RewriteRule ([a-z]{1,})-([0-9]{1,}).html$ index.php?action=$1&id=$2

</IfModule>


注释:

RewriteEngine   为重写引擎开关,on为开启,off为关闭。


RewriteRule     是路由转向规则,$ 之前路径为浏览器中要输入路径,这里可以用正则表达式表达。$+空格 后路径为后台实际转向路径,

转向后台实际路径时可以传参数,例子里的后台页面可以用$_GET['p']   $_GET['action']  $_GET['id'] 来接收

$1 代表浏览器路径中输入的第一个正则表达式的值,以此类推,$2代表第二个正则表达式的值

RewriteRule 路由转向规则里正则表达式用括号 () 括起来



例子所在项目为test

在项目下 index.php 页面内写入内容

<?php

if ($_GET ['p']) {

    echo "p : " . $_GET ['p'];

}


if ($_GET ['action']) {

    echo "action : " . $_GET ['action'];

}


if ($_GET ['id']) {

    echo "id : " . $_GET ['id'];

}

?>


在浏览器中输入

http://localhost/test/index.html

http://localhost/test/index-9.html

http://localhost/test/page-18.html


都会转向 http://localhost/test/index.php 页面

并且依次

http://localhost/test/index.html     页面什么都不显示

http://localhost/test/index-9.html  页面显示 p : 9

http://localhost/test/page-18.html   页面显示 action : pageid : 18


优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/326087

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。