`

php 伪静态(url rewrite)apache配置!

阅读更多
php 伪静态(url rewrite)apache配置
通过查看apache手册,以及网络上的一些资料。总结下伪静态的配置:
1.检测Apache是否支持mod_rewrite

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

如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后查看“modules/”目录下是否有“mod_rewrite.so”文件,如果没有请重新安装apache。然后重启apache服务器即可。

2.让apache服务器支持.htaccess

如何让自己的本地APACHE服务器支持”.htaccess”呢?其实只要简单修改一下apache的httpd.conf设置就可以让 APACHE支 持.htaccess了。打开httpd.conf文件(在那里? APACHE目录的CONF目录里面),用文本编辑器打开后,查找

Options FollowSymLinks   //服务器允许在此目录中使用符号连接

AllowOverride None  //是否允许.htaccesss

改为

Options FollowSymLinks

AllowOverride All

即可!可能配置文件中会有多个AllowOverride,请查看其作用域,然后配置。

AllowOverride 的作用还用设置.htaccesss可以使用的指令类型(默认All允许所有!)

例如以下指令只允许在.htaccess中使用AuthConfig和Indexes组的指令:

AllowOverride AuthConfig Indexes

不在这两组中的指令将会导致服务器产生一个内部错误。

3.建立.htaccess 文件

如果是在windows平台下,刚开始还真不知道怎么建立”.htaccess”文件,因为这个文件实际上没有文件名,仅仅只有扩展名,通过普通方式是无法建立这个文件的,别着急,马上告诉你三种方法:三种方法都是先建立一个htaccess.txt的文本文件(当然,这个文本文件的名字你可以随便取),然后有三种方式给这个文件重命名:

(1)用记事本 打开,点击文件–另存为,在文件名窗口输入”.htaccess”,注意是整个绿色部分,也就是包含英文引号,然后点击保存就行了。

(2)进入cmd命令 窗口,通过cd切换当刚建立htaccess.txt文件的文件夹,然后输入命令:rename htaccess.txt .htaccess ,然后点击键盘Enter键即可。

(3)通过ftp连接htaccess.txt所在文件夹,通过ftp软件重命名。

4.rewrite规则学习

我们新建一个.htaccess文件之后,就在里面写入以下内容:

RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭

RewriteRule ([0-9]{1,})$index.php?id=$1

我讲解一下RewriteRule:RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束!

好吧,现在我们可以实现伪静态页面了,写下一下的规则:

<IfModule mod_rewrite.c>

RewriteEngine on

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

</IfModule>


([a-zA-Z]{1,})-([0-9]{1,}).html$是规则,index.php?action=$1&id=$2是要替换的格式,$1代表第一个括号匹配的值,$2代表第二个,如此类推!!

我们写一个处理的PHP脚本:

index.php

PHP代码
<?php
echo ‘你的Action是:’ . $_GET['action'];
echo ‘<br/>’;
echo ‘你的ID是:’ . $_GET['id'];
?>
好了,我们现在在浏览器中输入:

localhost/view-12.html
即可(网上例子)。
一些常用命令:
RewriteCond指令定义了一个规则的条件,即在一个RewriteRule指令之前有一个或多个RewriteCond指令。条件之后的重写规则仅在当前URI与pattern匹配并且符合这些条件的时候才会起作用。
<b>RewriteRule</b>定义重写规则。
RewriteMap指令定义了一个映射表(Rewriting Map),映射函数将使用该表来查找关键字然后插入/替换字段。此查找操作的源可以是多种类型。

MapName是映射表的名称,指定了一个映射函数,用于重写规则的字符串替换,它可以是下列形式之一。
<!--完-->

分享到:
评论

相关推荐

    PHP伪静态Rewrite设置之APACHE篇

    Rewirte主要的功能就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范。平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等

    apache中伪静态配置和使用(Apache虚拟主机下Discuz伪静态)

    一 打开 Apache 的配置文件 httpd.conf 。 二 将#LoadModule rewrite_module modules/mod_rewrite前面的#去掉 三 在 httpd.conf中添加: &lt;IfModule&gt; RewriteEngine On #RewriteCond %{ENV:SCRIPT_URL} (?:index|...

    网站文章自动配图插件(php,适合任何cms,附伪静态规则)

    apache的伪静态 RewriteRule ^(aiimages)/(.*).png$ $1/url.php?title=$2; ngnix的伪静态 rewrite ^/(aiimages)/(.*).png$ $1/url.php?title=$2; 上面的不行就换这个: location /aiimages { rewrite ^(aiimages)/...

    开启PHP的伪静态模式

    伪静态又名URL重写,是动态的网址看起来像静态的网址。换句话说就是,动态网页通过重写 URL 方法实现去掉动态网页的参数,但在实际的网页目录中并没有必要实现存在重写的页面。 1.检测Apache是否支持mod_rewrite ...

    教你如何开启shopnc b2b2c 伪静态

    shopnc b2b2c开启伪静态的方法 一. windows环境下  1.先下载isapi rewrite插件,安装,然后我们把根目录下面的htaccess.txt那么修改成.htaccess即可。    2.找到网站目录\data\config下面找到config.ini.php...

    协成wifi,协成WIFI营销系统2.0,协成智慧无线源码2.0完整版

    系统已配置了iis6.0和apache下面的伪静态,请勿随意改动。 IIS下伪静态需要IIS Rewrite组件支持。 Rwerite文件夹内包含了改组件。配置即可。 配置IIS伪静态 在IIS的Isapi上添加这个筛选器 筛选器名称Rewrite 可执行...

    Thinkphp宅音乐html5在线音乐播放器参考分享

    技术栈 后端:thinkphp 5.1 前端:layui 数据库:mysql 依赖 composer php 5.6 mysql 5.5 步骤 安装php依赖包 ...composer install .../config/database.php ...若为apache服务器则默认伪静态,nginx可自行配置伪静态

    Nginx服务器下使用rewrite重写url以实现伪静态的示例

    经过网上查阅和测试,发现Nginx的Rewrite规则和Apache的Rewite规则差别不是很大,几乎可以直接使用。比如在Apache中这样写规则 rewrite ^/([0-9]{5}).html$ /viewthread.php?tid=$1 last; 而在Nginx中写成这样写...

    iis_rewrite.zip

    在iis下为php添加rewrite功能 URL-Rewrite是一种URL地址静态化技术,可有效增加搜索引擎的收录。 下面分别介绍记事狗系统在IIS 服务器下的Rewrite设置方法(Apache服务器默认即可支持): 一、路径模式; 1、...

    按标题或关键词自动生成图片-可配置服务器端缓存

    apache的伪静态 RewriteRule ^(aiimages)/(.*).png$ $1/url.php?title=$2 ngnix的伪静态 location /aiimages { rewrite ^(aiimages)/(.*).png$ $1/url.php?title=$2 } 或者: rewrite ^/(aiimages)/(.*).png$ $1...

    协成智慧无线营销系统v2.0最新版.zip

    系统已配置了iis6.0和apache下面的伪静态,请勿随意改动。 IIS下伪静态需要IIS Rewrite组件支持。 Rwerite文件夹内包含了改组件。配置即可。 配置IIS伪静态 在IIS的Isapi上添加这个筛选器 筛选器名称Rewrite 可执行...

    wpsshop官方正版5.0.2 b2c 商城 thinkphp (php开源项目)

    1. 配置伪静态环境 apache,iis,nginx配置环境不同 2. 系统修改伪静态配置: ./application/config.php下面修改配置: define("REWRITE_MODEL", true); 配置伪静态设置为true 默认false 伪静态环境配置: [ ...

    wpsshop官方正版5.0.1 thinkphp框架 手机端 pc端 官方1.9万

    1. 配置伪静态环境 apache,iis,nginx配置环境不同 2. 系统修改伪静态配置: ./application/config.php下面修改配置: define("REWRITE_MODEL", true); 配置伪静态设置为true 默认false 伪静态环境配置: [ ...

    ThinkPHP 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php

    ThinkPHP 作为 PHP 框架,是单一入口的,那么其原始的 URL 便不是那么友好。但 ThinkPHP 提供了各种机制来定制需要的 URL 格式,配合 Apache .htaccess 文件,更是可以定制出人性化的更利于 SEO 的 URL 地址来。

    【已测源码】小霸王v6.3蜘蛛池源码原价超6000站群系统源码

    -----------------------------------------------------------------------...IIS7以上 伪静态安装教程 http://www.xbwseo.com/web/windows-2008-system-iis78-install-urlrewrite.html ==========================

    开源Thinkphp宅音乐html5在线音乐播放器

    若为apache服务器则默认伪静态, nginx伪静态 location / { index index.htm index.html index.php; #访问路径的文件不存在则重写URL转交给ThinkPHP处理 if (!-e $request_filename) { rewrite ^/(.*)$ /index....

    一套精品童装B2B网站源码

    生成HTML、URLRewrite、标签缓存、SQL缓存、页面缓存、远程附件、计划任务、数据库备份恢复、VIP会员、企业主页、二级域名、主页模板、在线充值、资金提现、产品交易、站内信、询盘、报价、关键字排名、商机收藏、...

    推券客CMS淘宝优惠券网站源码 v1.8

    如果你希望配置子域名和URL伪静态重写继续往下看(有一定的技术要求,不会的就不要去折腾了)。特别提醒:开启伪静态的同时必须要开启子域名否则会出现手机端无法浏览器领券。1. 配置伪静态规则:一般PHP环境有3种...

    apache rewrite_module模块使用教程

    把 [url]... APACHE的 MOD_rewrite模块. 大家可以看一个演示的一个 PHP学习论坛 [url]http://www.phpx.com/happy/[/url] 这个论坛的版面和帖子,就是运用了这个技术,地址静态化.但是是假的. 这个技术哪

    doodoo.rar

    nginx 伪静态配置,apache请勿使用此配置 location /wap/ { try_files $uri /wap/index.html; } location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s=$1 last; break; } } ...

Global site tag (gtag.js) - Google Analytics