最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

apache php 开启伪静态 的大致方法

XAMPP下载 中文小张 337浏览 0评论

第一步 设置apache,让apache支持伪静态

1 打开Apache的配置文件httpd.conf

#LoadModule rewrite_module modules/mod_rewrite.so

2 把前面的 “#”去掉

#

# 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

把 AllowOverride None 改为  AllowOverride Al

3让Apache支持.htacce

Options FollowSymLinks

AllowOverride None

修改为

Options FollowSymLinks

AllowOverride All

重启Apache即可以生效

通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。

第二部在项目根目录下创建.htaccess文件

在要启用伪静态的 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-99.html


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

都会转向 http://localhost/test/index.php 页面
并且依次
http://localhost/test/index.html     页面什么都不显示
http://localhost/test/index-99.html  页面显示 p : 99
http://locahost/test/page-18.html   页面显示 action : pageid : 18

转载请注明:XAMPP中文组官网 » apache php 开启伪静态 的大致方法