apache开启伪静态的方法 php篇
2017-01-07 17:22
357 查看
打开apache的配置文件httpd.conf
找到
把前面#去掉。没有则添加,但必选独占一行,使apache支持 mod_rewrite 模块
找到
把
AllowOverride None 换成 AllowOverride All 使apache支持 .htaccess 文件
重启apache服务器
在要启用伪静态的 PHP 项目根目录下建立 .htaccess 文件
在 .htaccess 文件中输入内容
注释:
RewriteEngine 为重写引擎开关,on为开启,off为关闭。
RewriteRule 是路由转向规则,之前路径为浏览器中要输入路径,这里可以用正则表达式表达。+空格 后路径为后台实际转向路径,
转向后台实际路径时可以传参数,例子里的后台页面可以用GET[′p′]_GET[‘action’] GET[‘id′]来接收1 代表浏览器路径中输入的第一个正则表达式的值,以此类推,$2代表第二个正则表达式的值
RewriteRule 路由转向规则里正则表达式用括号 () 括起来
例子所在项目为test
在项目下 index.php 页面内写入内容
在浏览器中输入
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://localhost/test/page-18.html 页面显示 action : pageid : 18
找到
#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-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://localhost/test/page-18.html 页面显示 action : pageid : 18
相关文章推荐
- Docker 基于 php:7.2-apache 搭建微擎网站,及 GD 扩展开启方法
- Apache PHP开启伪静态
- apache php 开启伪静态
- PHP开发入门-Apache开启伪静态
- apache开启伪静态的方法分享
- PHP开启伪静态的方法
- 开启错误提示_PHP和Apache的设置方法
- php Apache 服务器实现伪静态的方法
- PHP生成静态html网页的三种方法
- PHP+APACHE实现用户论证的方法
- apache的静态/动态编译在apache+php+mysql的应用
- PHP+APACHE实现用户论证的方法
- php生成静态文件的方法
- [PHP] Windows 下安装 PHP + Apache + MySQL 的方法和配置
- 从IIS的ASP迁移到APACHE的PHP的方法
- 301 重定向(iis,Apache,asp,php,ColdFusion,旧域名),永久重定向实现方法。
- 要将 Apache 及 PHP 的版本隐藏,可以用以下方法
- 在Linux下安装PHP,APACHE,MYSQL,PERL的方法
- PHP+APACHE实现用户论证的方法
- PHP生成静态html网页的三种方法